diff --git a/src/plugins/debugger/gdb/gdbengine.cpp b/src/plugins/debugger/gdb/gdbengine.cpp
index ea2b2381c49d6896f3e1eca0ef35e09f251d9f9f..7e8febf779c3586e8f1fb24e4d5c05ddd024c223 100644
--- a/src/plugins/debugger/gdb/gdbengine.cpp
+++ b/src/plugins/debugger/gdb/gdbengine.cpp
@@ -4836,8 +4836,15 @@ void GdbEngine::startGdb(const QStringList &args)
     //  template <class T> T foo() { return T(0); }
     //  int main() { return foo<int>(); }
     //  (gdb) call 'int foo<int>'()
-    //  /build/buildd/gdb-6.8/gdb/valops.c:2069: internal-error:
-    postCommand("set overload-resolution off");
+    //  /build/buildd/gdb-6.8/gdb/valops.c:2069: internal-error
+    // This seems to be fixed, however, with 'on' it seems to _require_
+    // explicit casting of function pointers:
+    // GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu
+    //  (gdb) p &Myns::QMetaType::typeName  -> $1 = (const char *(*)(int)) 0xb7cf73b0 <Myns::QMetaType::typeName(int)>
+    //  (gdb) p Myns::QMetaType::typeName(1024)  -> 31^error,msg="Couldn't find method Myns::QMetaType::typeName"
+    // But we can work around on the dumper side. So let's use the default (i.e. 'on')
+    //postCommand("set overload-resolution off");
+
     //postCommand(_("set demangle-style none"));
     // From the docs:
     //  Stop means reenter debugger if this signal happens (implies print).