diff --git a/src/plugins/debugger/qml/qmlengine.h b/src/plugins/debugger/qml/qmlengine.h
index b8558c98e6f9ed37c4bf80bb72a13f873a55a5cd..25e11669563a4e42e2d083334ff7f47a6876a2f7 100644
--- a/src/plugins/debugger/qml/qmlengine.h
+++ b/src/plugins/debugger/qml/qmlengine.h
@@ -91,6 +91,8 @@ public:
 
     QmlAdapter *adapter() const;
 
+    void insertBreakpoint(BreakpointModelId id);
+
 public slots:
     void disconnected();
     void documentUpdated(QmlJS::Document::Ptr doc);
@@ -130,7 +132,6 @@ private:
     void selectThread(int index);
 
     void attemptBreakpointSynchronization();
-    void insertBreakpoint(BreakpointModelId id);
     void removeBreakpoint(BreakpointModelId id);
     void changeBreakpoint(BreakpointModelId id);
     bool acceptsBreakpoint(BreakpointModelId id) const;
diff --git a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
index b7c7b8ba9944b592930e3455b848f73869e3adfd..ee888af93e6fe2a0aaf3e7a14ea1f5abada9d60a 100644
--- a/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
+++ b/src/plugins/debugger/qml/qmlv8debuggerclient.cpp
@@ -1131,23 +1131,21 @@ void QmlV8DebuggerClient::changeBreakpoint(const BreakpointModelId &id)
     BreakHandler *handler = d->engine->breakHandler();
     const BreakpointParameters &params = handler->breakpointData(id);
 
+    BreakpointResponse br = handler->response(id);
     if (params.type == BreakpointAtJavaScriptThrow) {
         d->setExceptionBreak(AllExceptions, params.enabled);
-
+        br.enabled = params.enabled;
+        handler->setResponse(id, br);
     } else if (params.type == BreakpointOnQmlSignalHandler) {
         d->setBreakpoint(QString(_(EVENT)), params.functionName, params.enabled);
-
+        br.enabled = params.enabled;
+        handler->setResponse(id, br);
     } else {
-        int breakpoint = d->breakpoints.value(id);
-        d->changeBreakpoint(breakpoint, params.enabled, QLatin1String(params.condition),
-                            params.ignoreCount);
+        //V8 supports only minimalistic changes in breakpoint
+        //Remove the breakpoint and add again
+        removeBreakpoint(id);
+        d->engine->insertBreakpoint(id);
     }
-
-    BreakpointResponse br = handler->response(id);
-    br.enabled = params.enabled;
-    br.condition = params.condition;
-    br.ignoreCount = params.ignoreCount;
-    handler->setResponse(id, br);
 }
 
 void QmlV8DebuggerClient::synchronizeBreakpoints()