diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp
index 48eef792032c4394f2562b850ab69f780a35e8c6..dd7069635489d54350e06ab6db104cbfa9310d20 100644
--- a/src/plugins/debugger/breakhandler.cpp
+++ b/src/plugins/debugger/breakhandler.cpp
@@ -432,10 +432,8 @@ bool BreakHandler::setData(const QModelIndex &index, const QVariant &value, int
 
     switch (role) {
         case BreakpointEnabledRole:
-            if (data->enabled != value.toBool()) {
+            if (data->enabled != value.toBool())
                 toggleBreakpointEnabled(data);
-                emit layoutChanged();
-            }
             return true;
 
         case BreakpointUseFullPathRole:
@@ -568,7 +566,15 @@ void BreakHandler::toggleBreakpointEnabled(BreakpointData *data)
         m_enabled.removeAll(data);
         m_disabled.append(data);
     }
-    updateMarkers();
+    data->updateMarker();
+    emit layoutChanged();
+    m_engine->attemptBreakpointSynchronization();
+}
+
+void BreakHandler::toggleBreakpointEnabled(const QString &fileName, int lineNumber)
+{
+    BreakpointData *data = findBreakpoint(fileName, lineNumber);
+    toggleBreakpointEnabled(data);
 }
 
 void BreakHandler::appendBreakpoint(BreakpointData *data)
@@ -612,15 +618,6 @@ void BreakHandler::toggleBreakpoint(const QString &fileName, int lineNumber)
     m_engine->attemptBreakpointSynchronization();
 }
 
-void BreakHandler::toggleBreakpointEnabled(const QString &fileName, int lineNumber)
-{
-    BreakpointData *data = findBreakpoint(fileName, lineNumber);
-    QTC_ASSERT(data, return);
-    data->enabled = !data->enabled;
-    data->updateMarker();
-    m_engine->attemptBreakpointSynchronization();
-}
-
 void BreakHandler::saveSessionData()
 {
     QTC_ASSERT(m_engine->isSessionEngine(), return);