diff --git a/share/qtcreator/debugger/misctypes.py b/share/qtcreator/debugger/misctypes.py
index 808ce34d895cae634a5e25d04d99cbe6911c703f..0523c0a7837bd38c69d5a08c580e871ebf0df7d9 100644
--- a/share/qtcreator/debugger/misctypes.py
+++ b/share/qtcreator/debugger/misctypes.py
@@ -133,9 +133,7 @@ def qdump__Eigen__PlainObjectBase(d, value):
     storage = value["m_storage"]
     nrows = toInteger(storage["m_rows"] if argRow == -1 else argRow)
     ncols = toInteger(storage["m_cols"] if argCol == -1 else argCol)
-    p = storage["m_data"]
-    if d.isStructType(p.type): # Static
-        p = p["array"].cast(innerType.pointer())
+    p = d.createPointerValue(d.addressOf(value), innerType)
     d.putValue("(%s x %s), %s" % (nrows, ncols, ["ColumnMajor", "RowMajor"][rowMajor]))
     d.putField("keeporder", "1")
     d.putNumChild(nrows * ncols)