diff --git a/tests/auto/debugger/tst_dumpers.cpp b/tests/auto/debugger/tst_dumpers.cpp
index eff6f97dbd211e7a171fb569d78a206035404141..debe1ff8b2ae3449b169207badb6efd674b2c2ff 100644
--- a/tests/auto/debugger/tst_dumpers.cpp
+++ b/tests/auto/debugger/tst_dumpers.cpp
@@ -1531,8 +1531,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