diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp
index 5ac7ca2df78ca782a881292e1c743e4c52ed8dc9..22def6967c3d7ddf1b3474a28eafc893d223355e 100644
--- a/src/libs/cplusplus/ResolveExpression.cpp
+++ b/src/libs/cplusplus/ResolveExpression.cpp
@@ -662,7 +662,7 @@ bool ResolveExpression::visit(ObjCMessageExpressionAST *ast)
             //   [NSObject description];
             binding = _context.lookupType(clazz);
         } else if (PointerType *ptrTy = ty->asPointerType()) {
-            if (NamedType *namedTy = ptrTy->asNamedType()) {
+            if (NamedType *namedTy = ptrTy->elementType()->asNamedType()) {
                 // dynamic access, e.g.:
                 //   NSObject *obj = ...; [obj release];
                 binding = _context.lookupType(namedTy->name(), result.scope());