diff --git a/src/plugins/debugger/gdbengine.cpp b/src/plugins/debugger/gdbengine.cpp
index 20c56002587937a8382f312d6df633838f14c3a7..317189581026934db4489132bc7c0c2f532b42af 100644
--- a/src/plugins/debugger/gdbengine.cpp
+++ b/src/plugins/debugger/gdbengine.cpp
@@ -163,6 +163,20 @@ static int &currentToken()
     return token;
 }
 
+static bool isSkippable(int type)
+{
+    return type == RegisterListValues
+        && type == StackListThreads
+        && type == StackListFrames
+        && type == StackListLocals
+        && type == StackListArguments
+        && type == WatchVarAssign
+        && type == WatchVarListChildren
+        && type == WatchVarCreate
+        && type == WatchEvaluateExpression
+        && type == WatchToolTip;
+}
+
 ///////////////////////////////////////////////////////////////////////
 //
 // GdbEngine
@@ -680,7 +694,7 @@ void GdbEngine::handleResultRecord(const GdbResultRecord &record)
 
     GdbCookie cmd = m_cookieForToken.take(token);
 
-    if (record.token < m_oldestAcceptableToken) {
+    if (record.token < m_oldestAcceptableToken && isSkippable(cmd.type)) {
         //qDebug() << "### SKIPPING OLD RESULT " << record.toString();
         //QMessageBox::information(m_mainWindow, tr("Skipped"), "xxx");
         return;