diff --git a/src/plugins/debugger/breakhandler.cpp b/src/plugins/debugger/breakhandler.cpp
index 4fac1a0bf639f18eedb68232e1d01ecd61c55b78..6542f1db8576108983416478570184b80fc0fb34 100644
--- a/src/plugins/debugger/breakhandler.cpp
+++ b/src/plugins/debugger/breakhandler.cpp
@@ -374,18 +374,25 @@ void BreakHandler::resetBreakpoints()
     for (int index = size(); --index >= 0;) {
         BreakpointData *data = at(index);
         data->pending = true;
+        data->bpMultiple = false;
+        data->bpEnabled = true;
         data->bpNumber.clear();
         data->bpFuncName.clear();
         data->bpFileName.clear();
         data->bpLineNumber.clear();
         data->bpCondition.clear();
         data->bpIgnoreCount.clear();
+        data->bpAddress.clear();
         // keep marker data if it was primary
         if (data->markerFileName != data->fileName)
             data->markerFileName.clear();
         if (data->markerLineNumber != data->lineNumber.toInt())
             data->markerLineNumber = 0;
     }
+    m_enabled.clear();
+    m_disabled.clear();
+    m_removed.clear();
+    m_inserted.clear();
 }
 
 void BreakHandler::updateMarkers()