diff --git a/src/plugins/debugger/qml/qmlengine.cpp b/src/plugins/debugger/qml/qmlengine.cpp
index 1bf0e900edb21da09d6f09b3e399b6232c2d46cc..19c57146e8e505baa548c336cfe849048b1aaa20 100644
--- a/src/plugins/debugger/qml/qmlengine.cpp
+++ b/src/plugins/debugger/qml/qmlengine.cpp
@@ -460,6 +460,13 @@ void QmlEngine::selectThread(int index)
 void QmlEngine::attemptBreakpointSynchronization()
 {
     BreakHandler *handler = breakHandler();
+
+    foreach (BreakpointId id, handler->unclaimedBreakpointIds()) {
+        // Take ownership of the breakpoint. Requests insertion.
+        if (acceptsBreakpoint(id))
+            handler->setEngine(id, this);
+    }
+
     //bool updateNeeded = false;
     JSAgentBreakpoints breakpoints;
     foreach (BreakpointId id, handler->engineBreakpointIds(this)) {