diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp
index 8e94aadc668723b6f2f9b1f5abeb6258796a9b56..2cb677968c5a18aa77d0ac2e66973ee0cd0e7059 100644
--- a/tests/auto/debugger/tst_dumpers.cpp
+++ b/tests/auto/debugger/tst_dumpers.cpp
@@ -1530,8 +1530,10 @@ template <typename K, typename V>
             QByteArray keyTypeStr = typeToString<K>();
             QByteArray valTypeStr = typeToString<V>();
 #if QT_VERSION >= 0x040500
-            expected.append("addr='").
-                append(ptrToBa(reinterpret_cast<char *>(&(*it)) + sizeof(V))).
+            QMapNode<K, V> *node = 0;
+            size_t backwardOffset = size_t(&node->backward) - valOff;
+            char *addr = reinterpret_cast<char *>(&(*it)) + backwardOffset;
+            expected.append("addr='").append(ptrToBa(addr)).
                 append("',type='"NS"QMapNode<").append(keyTypeStr).append(",").
                 append(valTypeStr).append(MAP_NODE_TYPE_END).append("'");
 #else