diff --git a/RTTITable.h b/RTTITable.h
index 437afb4cf377da10feea9050f2a6f211785c2519..8d3dc5bf55666da5e512d56c55523a3fd35da5eb 100644
--- a/RTTITable.h
+++ b/RTTITable.h
@@ -434,7 +434,9 @@ public:
           currentClassInfoIter = _currentClassInfo.begin(),
           currentClassInfoIterEnd = _currentClassInfo.end();
         bool hasResult = false;
-        for (; !hasResult && currentClassIter != currentClassIterEnd;
+        for (; !hasResult &&
+               currentClassIter != currentClassIterEnd &&
+               currentClassInfoIter != currentClassInfoIterEnd;
               ++currentClassIter, ++currentClassInfoIter) {
           if (*currentClassIter == derived) {
             hasResult = true;