diff --git a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
index d30dac9f69d..a6e520fe295 100644
--- a/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
+++ b/debug/org.eclipse.cdt.debug.mi.core/src/org/eclipse/cdt/debug/mi/core/cdi/model/Variable.java
@@ -53,6 +53,12 @@ public class Variable extends CObject implements ICDIVariable {
 			Variable variable = (Variable)children[i];
 			if (name.equals(variable.getMIVar().getVarName())) {
 				return variable;
+			} else {
+				// Look also in the grandchildren.
+				Variable grandChild = variable.getChild(name);
+				if (grandChild != null) {
+					return grandChild;
+				}
 			}
 		}
 		return null;