diff --git a/src/plugins/debugger/watchhandler.cpp b/src/plugins/debugger/watchhandler.cpp
index c45eaa4116ba28e6652e90a01299c637a1d2fb95..863997462211e72951768f6e6b06aa386842e29a 100644
--- a/src/plugins/debugger/watchhandler.cpp
+++ b/src/plugins/debugger/watchhandler.cpp
@@ -1181,7 +1181,8 @@ void WatchHandler::insertData(const WatchData &data)
     }
     if (data.isSomethingNeeded() && data.iname.contains('.')) {
         MODEL_DEBUG("SOMETHING NEEDED: " << data.toString());
-        if (!m_manager->currentEngine()->isSynchroneous()) {
+        IDebuggerEngine *engine = m_manager->currentEngine();
+        if (engine && !engine->isSynchroneous()) {
             m_manager->updateWatchData(data);
         } else {
             qDebug() << "ENDLESS LOOP: SOMETHING NEEDED: " << data.toString();