diff --git a/src/plugins/debugger/gdb/abstractgdbadapter.h b/src/plugins/debugger/gdb/abstractgdbadapter.h
index 7fed63fc8c3af25d1f1ab67fd24a90d3a9f34d63..83a76682b042831c1f639da10cd17bea27b50aa7 100644
--- a/src/plugins/debugger/gdb/abstractgdbadapter.h
+++ b/src/plugins/debugger/gdb/abstractgdbadapter.h
@@ -99,6 +99,8 @@ protected:
         { m_engine->debugMessage(msg); }
     void showStatusMessage(const QString &msg) const
         { m_engine->showStatusMessage(msg); }
+    void showMessageBox(int icon, const QString &title, const QString &text) const
+        { m_engine->showMessageBox(icon, title, text); }
 
     GdbEngine * const m_engine;
 };
diff --git a/src/plugins/debugger/gdb/remotegdbadapter.cpp b/src/plugins/debugger/gdb/remotegdbadapter.cpp
index 617141eb2a3d8d8cb2799dc4af1b9fb83a4b6361..e79c09421893655e9aadddb18773622ca124936e 100644
--- a/src/plugins/debugger/gdb/remotegdbadapter.cpp
+++ b/src/plugins/debugger/gdb/remotegdbadapter.cpp
@@ -119,7 +119,7 @@ void RemoteGdbAdapter::uploadProcError(QProcess::ProcessError error)
     }
 
     m_engine->showStatusMessage(msg);
-    QMessageBox::critical(m_engine->mainWindow(), tr("Error"), msg);
+    showMessageBox(QMessageBox::Critical, tr("Error"), msg);
 }
 
 void RemoteGdbAdapter::readUploadStandardOutput()
diff --git a/src/plugins/debugger/gdb/termgdbadapter.cpp b/src/plugins/debugger/gdb/termgdbadapter.cpp
index e7769fac397d773df9ac9ecc73aedecb2740aa08..9ab469c7a0647d3c1e3a2a6dee17f31ee79ff3dc 100644
--- a/src/plugins/debugger/gdb/termgdbadapter.cpp
+++ b/src/plugins/debugger/gdb/termgdbadapter.cpp
@@ -147,7 +147,7 @@ void TermGdbAdapter::shutdown()
 
 void TermGdbAdapter::stubError(const QString &msg)
 {
-    QMessageBox::critical(m_engine->mainWindow(), tr("Debugger Error"), msg);
+    showMessageBox(QMessageBox::Critical, tr("Debugger Error"), msg);
 }
 
 void TermGdbAdapter::stubExited()