diff --git a/src/tools/qml/qmlobserver/jsdebuggeragent.cpp b/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
index 9b2f3295d3c59e8b51b6e1996b14dc0b161a7e0f..966b6691deddc17571b4f8405854554ef57a73f0 100644
--- a/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
+++ b/src/tools/qml/qmlobserver/jsdebuggeragent.cpp
@@ -125,6 +125,11 @@ static QList<JSAgentWatchData> expandObject(const QScriptValue &object)
         it.next();
         if (it.flags() & QScriptValue::SkipInEnumeration)
             continue;
+        if (object.isQObject() && it.value().isFunction()) {
+            // cosmetics: skip all signals and slot, there is too many of them,
+            //  and it is not usefull in the debugger.
+            continue;
+        }
         result << JSAgentWatchData::fromScriptValue(it.name(), it.value());
     }
     return result;