diff --git a/share/qtcreator/dumper/dumper.py b/share/qtcreator/dumper/dumper.py
index 2258088f607f3cf05a747ed60571598fd0532e10..30c0fd1f633cc550f7750332bd66d74f6bb6b46f 100644
--- a/share/qtcreator/dumper/dumper.py
+++ b/share/qtcreator/dumper/dumper.py
@@ -1671,7 +1671,10 @@ class Dumper:
             self.putType(dtypeName)
 
             if dtypeName in qqDumpers:
-                qqDumpers[dtypeName](self, expensiveUpcast(value))
+                if tryDynamic:
+                    qqDumpers[dtypeName](self, expensiveUpcast(value))
+                else:
+                    qqDumpers[dtypeName](self, value)
                 return
 
             nsStrippedType = self.stripNamespaceFromType(dtypeName)\