diff --git a/src/plugins/debugger/watchwindow.cpp b/src/plugins/debugger/watchwindow.cpp
index 67357efccd4b8ae947cdc41910b4519ff590ecd0..35c7b78adff77439d1fd2ed8e417e1415dc18d73 100644
--- a/src/plugins/debugger/watchwindow.cpp
+++ b/src/plugins/debugger/watchwindow.cpp
@@ -283,7 +283,8 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
 
     const bool actionsEnabled = modelData(EngineActionsEnabledRole).toBool();
     const unsigned engineCapabilities = modelData(EngineCapabilitiesRole).toUInt();
-    const bool canHandleWatches = actionsEnabled && (engineCapabilities & AddWatcherCapability);
+    const bool canHandleWatches =
+        actionsEnabled && (engineCapabilities & AddWatcherCapability);
 
     QMenu menu;
     QAction *actInsertNewWatchItem = menu.addAction(tr("Insert New Watch Item"));
@@ -335,12 +336,15 @@ void WatchWindow::contextMenuEvent(QContextMenuEvent *ev)
         actSetWatchPointAtVariableAddress->setEnabled(false);
     }
 
-    QAction *actWatchExpression =
-        new QAction(tr("Watch Expression \"%1\"").arg(exp), &menu);
-    actWatchExpression->setEnabled(canHandleWatches);
+    QString actionName = exp.isEmpty() ? tr("Watch Expression")
+        : tr("Watch Expression \"%1\"").arg(exp);
+    QAction *actWatchExpression = new QAction(actionName, &menu);
+    actWatchExpression->setEnabled(canHandleWatches && !exp.isEmpty());
 
-    QAction *actRemoveWatchExpression =
-        new QAction(tr("Remove Watch Expression \"%1\"").arg(exp), &menu);
+    actionName = exp.isEmpty() ? tr("Remove Watch Expression")
+        : tr("Remove Watch Expression \"%1\"").arg(exp);
+    QAction *actRemoveWatchExpression = new QAction(actionName, &menu);
+    actRemoveWatchExpression->setEnabled(canHandleWatches && !exp.isEmpty());
 
     if (m_type == LocalsType)
         menu.addAction(actWatchExpression);