diff --git a/glslang/MachineIndependent/propagateNoContraction.cpp b/glslang/MachineIndependent/propagateNoContraction.cpp
index dcb7571100ee7320ad390e80511dee33d98e1d15..835f57f69d6a37e4e05aef795d411a9d2f77a7d0 100644
--- a/glslang/MachineIndependent/propagateNoContraction.cpp
+++ b/glslang/MachineIndependent/propagateNoContraction.cpp
@@ -401,7 +401,7 @@ bool TSymbolDefinitionCollectingTraverser::visitBinary(glslang::TVisit /* visit
     } else {
         // For other binary nodes, still traverse the right node.
         current_object_.clear();
-        return true;
+        node->getRight()->traverse(this);
     }
     return false;
 }