diff --git a/src/shared/cplusplus/Symbol.cpp b/src/shared/cplusplus/Symbol.cpp
index 7b0ff6a0c95c06b015d32db7a2277bd7ae678c96..e5a99bcb66f26a390d1b3d4c1fbe1841e4302c58 100644
--- a/src/shared/cplusplus/Symbol.cpp
+++ b/src/shared/cplusplus/Symbol.cpp
@@ -242,7 +242,7 @@ void Symbol::setScope(Scope *scope)
     _scope = scope;
 }
 
-Symbol *Symbol::enclosingSymbol() const
+ScopedSymbol *Symbol::enclosingSymbol() const
 {
     if (! _scope)
         return 0;
diff --git a/src/shared/cplusplus/Symbol.h b/src/shared/cplusplus/Symbol.h
index 3835207ef3be4389c9efa27c824ccb8c340928f8..b83f67660172dfb478f82a172141cc88f493310b 100644
--- a/src/shared/cplusplus/Symbol.h
+++ b/src/shared/cplusplus/Symbol.h
@@ -284,7 +284,7 @@ public:
     bool isUnavailable() const;
     void setUnavailable(bool isUnavailable);
 
-    Symbol *enclosingSymbol() const;
+    ScopedSymbol *enclosingSymbol() const;
 
     /// Returns the eclosing namespace scope.
     Scope *enclosingNamespaceScope() const;