diff --git a/shared/cplusplus/Scope.cpp b/shared/cplusplus/Scope.cpp
index 2c1b986b2c9f48d5afc19a08f5bcb0fc7b90f629..47221da121f58bd39c596bdba6e6b7f69d0067cb 100644
--- a/shared/cplusplus/Scope.cpp
+++ b/shared/cplusplus/Scope.cpp
@@ -292,6 +292,7 @@ Use *Scope::useAt(unsigned index) const
 
 void Scope::addUse(unsigned sourceOffset, Name *name)
 {
+#ifdef CPLUSPLUS_WITH_USES
     if (++_useCount == _allocatedUses) {
         _allocatedUses += 4;
         _uses = reinterpret_cast<Use *>(realloc(_uses, _allocatedUses * sizeof(Use)));
@@ -303,6 +304,7 @@ void Scope::addUse(unsigned sourceOffset, Name *name)
     else
         lastVisibleSymbol = _symbols[_symbolCount];
     _uses[_useCount].init(sourceOffset, name, lastVisibleSymbol);
+#endif
 }
 
 CPLUSPLUS_END_NAMESPACE