diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index 20ce97c9477abb23035a78640939cd43f350028a..4a7f5e9fac763e5c08837c81218f21096ddf6c39 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -1258,6 +1258,11 @@ void GdbEngine::handleStop1(const GdbMi &data)
     if (m_sourcesListOutdated)
         reloadSourceFilesInternal(); // This needs to be done before fullName() may need it
 
+    // Older gdb versions do not produce "library loaded" messages
+    // so the breakpoint update is not triggered.
+    if (m_gdbVersion < 70000 && !m_isMacGdb)
+        postCommand(_("-break-list"), CB(handleBreakList));
+
     QByteArray reason = data.findChild("reason").data();
     if (reason == "breakpoint-hit") {
         showStatusMessage(tr("Stopped at breakpoint."));