diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 2bab82cded04e1efd10b8c46a0163a5f962fc30b..882dfaac9d5cece41052f0ed9bdeb9ae5c52d44f 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -4308,10 +4308,8 @@ void GdbEngine::assignValueInDebugger(const WatchData *data,
             + value.toString().toUtf8().toHex();
         postCommand(cmd, Discardable, CB(handleVarAssign));
     } else {
-        postCommand("-var-delete assign");
-        postCommand("-var-create assign * " + expression.toLatin1());
-        postCommand("-var-assign assign " +
-                GdbMi::escapeCString(value.toString().toLatin1()),
+        postCommand("set variable (" + expression.toLatin1() + ")="
+            + GdbMi::escapeCString(value.toString().toLatin1()),
             Discardable, CB(handleVarAssign));
     }
 }