diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index cc3296357e707d3dd9e351a5e0200eb1cae59e04..d548e5b730947b827aa30c3996b56229dc50e66c 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -3257,23 +3257,13 @@ void GdbEngine::handleVarCreate(const GdbResponse &response)
     if (response.resultClass == GdbResultDone) {
         data.variable = data.iname;
         setWatchDataType(data, response.data.findChild("type"));
-        if (hasDebuggingHelperForType(data.type)) {
-            // we do not trust gdb if we have a custom dumper
-            if (response.data.findChild("children").isValid())
-                data.setChildrenUnneeded();
-            else if (manager()->watchHandler()->isExpandedIName(data.iname))
-                data.setChildrenNeeded();
-            insertData(data);
-        } else {
-            if (response.data.findChild("children").isValid())
-                data.setChildrenUnneeded();
-            else if (manager()->watchHandler()->isExpandedIName(data.iname))
-                data.setChildrenNeeded();
-            setWatchDataChildCount(data, response.data.findChild("numchild"));
-            //if (data.isValueNeeded() && data.childCount > 0)
-            //    data.setValue(QString());
-            insertData(data);
-        }
+        if (manager()->watchHandler()->isExpandedIName(data.iname)
+                && !response.data.findChild("children").isValid())
+            data.setChildrenNeeded();
+        else
+            data.setChildrenUnneeded();
+        setWatchDataChildCount(data, response.data.findChild("numchild"));
+        insertData(data);
     } else {
         data.setError(QString::fromLocal8Bit(response.data.findChild("msg").data()));
         if (data.isWatcher()) {
@@ -3718,7 +3708,8 @@ void GdbEngine::insertData(const WatchData &data0)
 void GdbEngine::handleVarListChildrenHelper(const GdbMi &item,
     const WatchData &parent)
 {
-    //qDebug() <<  "VAR_LIST_CHILDREN: APPENDEE" << data.toString();
+    //qDebug() <<  "VAR_LIST_CHILDREN: PARENT" << parent.toString();
+    //qDebug() <<  "VAR_LIST_CHILDREN: ITEM" << item.toString();
     QByteArray exp = item.findChild("exp").data();
     QByteArray name = item.findChild("name").data();
     if (isAccessSpecifier(_(exp))) {