diff --git a/src/plugins/debugger/gdb/abstractgdbadapter.h b/src/plugins/debugger/gdb/abstractgdbadapter.h
index d70e519b5bb1090016e8c1f3cd07cb7b35217334..82e8676a8aa8c64c40ae6e523ecd4429911ef44f 100644
--- a/src/plugins/debugger/gdb/abstractgdbadapter.h
+++ b/src/plugins/debugger/gdb/abstractgdbadapter.h
@@ -31,6 +31,9 @@
 #define DEBUGGER_ABSTRACT_GDB_ADAPTER
 
 #include "debuggerconstants.h"
+// Need to include gdbengine.h as otherwise MSVC crashes
+// on invoking the first adapter callback in a *derived* adapter class.
+#include "gdbengine.h"
 
 #include <QtCore/QObject>
 
@@ -40,7 +43,6 @@ class DebuggerStartParameters;
 namespace Internal {
 
 class AbstractGdbProcess;
-class GdbEngine;
 class GdbResponse;
 
 // AbstractGdbAdapter is inherited by PlainGdbAdapter used for local