diff --git a/share/qtcreator/gdbmacros/gdbmacros.cpp b/share/qtcreator/gdbmacros/gdbmacros.cpp
index 1f3b2e4758af13baf604dc8a6f14dd0790462a8d..85cf81ee2d7819f3fdb777349bc515b9dbd27b60 100644
--- a/share/qtcreator/gdbmacros/gdbmacros.cpp
+++ b/share/qtcreator/gdbmacros/gdbmacros.cpp
@@ -962,10 +962,10 @@ void qDumpInnerValueHelper(QDumper &d, const char *type, const void *addr,
             break;
         case 'o':
             if (isEqual(type, "bool")) {
-                switch (*(bool*)addr) {
+                switch (*(unsigned char*)addr) {
                 case 0: d.putItem(field, "false"); break;
                 case 1: d.putItem(field, "true"); break;
-                default: d.putItem(field, *(bool*)addr); break;
+                default: d.putItem(field, *(unsigned char*)addr); break;
                 }
             } else if (isEqual(type, "double"))
                 d.putItem(field, *(double*)addr);