diff --git a/src/plugins/debugger/gdb/trkgdbadapter.cpp b/src/plugins/debugger/gdb/trkgdbadapter.cpp
index bf23a09eab59024e29b17094bca9a6fcdafbc692..a75650cad4519bc20d1378c69009bdf2537d19cd 100644
--- a/src/plugins/debugger/gdb/trkgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/trkgdbadapter.cpp
@@ -757,17 +757,21 @@ void TrkGdbAdapter::handleGdbServerCommand(const QByteArray &cmd)
         // http://sourceware.org/ml/gdb/2007-05/msg00038.html
         // Name=hexname,TextSeg=textaddr[,DataSeg=dataaddr]
         sendGdbServerAck();
-        QByteArray response = "m";
-        // FIXME: Limit packet length by using qsDllInfo packages?
-        for (int i = 0; i != m_session.libraries.size(); ++i) {
-            if (i)
-                response += ';';
-            const Library &lib = m_session.libraries.at(i);
-            response += "Name=" + lib.name.toHex()
-                + ",TextSeg=" + hexNumber(lib.codeseg)
-                + ",DataSeg=" + hexNumber(lib.dataseg);
+        if (!m_session.libraries.isEmpty()) {
+            QByteArray response = "m";
+            // FIXME: Limit packet length by using qsDllInfo packages?
+            for (int i = 0; i != m_session.libraries.size(); ++i) {
+                if (i)
+                    response += ';';
+                const Library &lib = m_session.libraries.at(i);
+                response += "Name=" + lib.name.toHex()
+                            + ",TextSeg=" + hexNumber(lib.codeseg)
+                            + ",DataSeg=" + hexNumber(lib.dataseg);
+            }
+            sendGdbServerMessage(response, "library information transfered");
+        } else {
+            sendGdbServerMessage("l", "library information transfer finished");
         }
-        sendGdbServerMessage(response, "library information transfered");
     }
 
     else if (cmd == "qsDllInfo") {