diff --git a/src/libs/cplusplus/GenTemplateInstance.cpp b/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp
similarity index 93%
rename from src/libs/cplusplus/GenTemplateInstance.cpp
rename to src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp
index a9191461e1366b244c61f17741fdb4fb84f0d2f3..760d8bce4ecd48ed85c94832d233ec3ff587f16f 100644
--- a/src/libs/cplusplus/GenTemplateInstance.cpp
+++ b/src/libs/cplusplus/DeprecatedGenTemplateInstance.cpp
@@ -27,7 +27,7 @@
 **
 **************************************************************************/
 
-#include "GenTemplateInstance.h"
+#include "DeprecatedGenTemplateInstance.h"
 #include "Overview.h"
 
 #include <Control.h>
@@ -47,7 +47,7 @@ namespace {
 class ApplySubstitution
 {
 public:
-    ApplySubstitution(Control *control, Symbol *symbol, const GenTemplateInstance::Substitution &substitution);
+    ApplySubstitution(Control *control, Symbol *symbol, const DeprecatedGenTemplateInstance::Substitution &substitution);
     ~ApplySubstitution();
 
     inline Control *control() const { return _control; }
@@ -311,13 +311,13 @@ private:
 public: // attributes
     Control *_control;
     Symbol *symbol;
-    GenTemplateInstance::Substitution substitution;
+    DeprecatedGenTemplateInstance::Substitution substitution;
     ApplyToType applyToType;
     ApplyToName applyToName;
 };
 
 ApplySubstitution::ApplySubstitution(Control *control, Symbol *symbol,
-                                     const GenTemplateInstance::Substitution &substitution)
+                                     const DeprecatedGenTemplateInstance::Substitution &substitution)
     : _control(control), symbol(symbol),
       substitution(substitution),
       applyToType(this), applyToName(this)
@@ -363,24 +363,24 @@ FullySpecifiedType ApplySubstitution::applySubstitution(int index) const
 
 } // end of anonymous namespace
 
-GenTemplateInstance::GenTemplateInstance(Control *control, const Substitution &substitution)
+DeprecatedGenTemplateInstance::DeprecatedGenTemplateInstance(Control *control, const Substitution &substitution)
     : _symbol(0),
       _control(control),
       _substitution(substitution)
 { }
 
-FullySpecifiedType GenTemplateInstance::gen(Symbol *symbol)
+FullySpecifiedType DeprecatedGenTemplateInstance::gen(Symbol *symbol)
 {
     ApplySubstitution o(_control, symbol, _substitution);
     return o.apply(symbol->type());
 }
 
-FullySpecifiedType GenTemplateInstance::instantiate(const Name *className, Symbol *candidate, Control *control)
+FullySpecifiedType DeprecatedGenTemplateInstance::instantiate(const Name *className, Symbol *candidate, Control *control)
 {
     if (className) {
         if (const TemplateNameId *templId = className->asTemplateNameId()) {
             if (Class *klass = candidate->enclosingSymbol()->asClass()) {
-                GenTemplateInstance::Substitution subst;
+                DeprecatedGenTemplateInstance::Substitution subst;
 
                 for (unsigned i = 0; i < templId->templateArgumentCount(); ++i) {
                     FullySpecifiedType templArgTy = templId->templateArgumentAt(i);
@@ -395,7 +395,7 @@ FullySpecifiedType GenTemplateInstance::instantiate(const Name *className, Symbo
                     }
                 }
 
-                GenTemplateInstance inst(control, subst);
+                DeprecatedGenTemplateInstance inst(control, subst);
                 return inst.gen(candidate);
             }
         }
diff --git a/src/libs/cplusplus/GenTemplateInstance.h b/src/libs/cplusplus/DeprecatedGenTemplateInstance.h
similarity index 86%
rename from src/libs/cplusplus/GenTemplateInstance.h
rename to src/libs/cplusplus/DeprecatedGenTemplateInstance.h
index 8d186341dcbdc0b7e315ed2cf205084507ba6bc6..5d19b807b9fad3dabbf02cba2f191c3fe7b662c6 100644
--- a/src/libs/cplusplus/GenTemplateInstance.h
+++ b/src/libs/cplusplus/DeprecatedGenTemplateInstance.h
@@ -27,8 +27,8 @@
 **
 **************************************************************************/
 
-#ifndef GENTEMPLATEINSTANCE_H
-#define GENTEMPLATEINSTANCE_H
+#ifndef CPLUSPLUS_DEPRECATEDGENTEMPLATEINSTANCE_H
+#define CPLUSPLUS_DEPRECATEDGENTEMPLATEINSTANCE_H
 
 #include <TypeVisitor.h>
 #include <NameVisitor.h>
@@ -41,7 +41,7 @@
 
 namespace CPlusPlus {
 
-class CPLUSPLUS_EXPORT GenTemplateInstance
+class CPLUSPLUS_EXPORT DeprecatedGenTemplateInstance
 {
 public:
     typedef QList< QPair<const Identifier *, FullySpecifiedType> > Substitution;
@@ -50,7 +50,7 @@ public:
     static FullySpecifiedType instantiate(const Name *className, Symbol *candidate, Control *control);
 
 private:
-    GenTemplateInstance(Control *control, const Substitution &substitution);
+    DeprecatedGenTemplateInstance(Control *control, const Substitution &substitution);
     FullySpecifiedType gen(Symbol *symbol);
 
 private:
@@ -61,4 +61,4 @@ private:
 
 } // end of namespace CPlusPlus
 
-#endif // GENTEMPLATEINSTANCE_H
+#endif // CPLUSPLUS_DEPRECATEDGENTEMPLATEINSTANCE_H
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index 29016a0d0a9c47031227ffc437746bb498c74543..ec1a086b454ca2ba99dd94f7089c63d601ec464d 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -31,7 +31,7 @@
 #include "ResolveExpression.h"
 #include "Overview.h"
 #include "CppBindings.h"
-#include "GenTemplateInstance.h"
+#include "DeprecatedGenTemplateInstance.h"
 
 #include <CoreTypes.h>
 #include <Symbols.h>
diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp
index be0d0739b0fadc2661f36e2451473ec2c170d321..dc7ccbf04c8cca660668d5a4dca08808b6d984ae 100644
--- a/src/libs/cplusplus/ResolveExpression.cpp
+++ b/src/libs/cplusplus/ResolveExpression.cpp
@@ -30,7 +30,7 @@
 #include "ResolveExpression.h"
 #include "LookupContext.h"
 #include "Overview.h"
-#include "GenTemplateInstance.h"
+#include "DeprecatedGenTemplateInstance.h"
 
 #include <Control.h>
 #include <AST.h>
@@ -604,7 +604,7 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &bas
 
                 foreach (Symbol *overload, binding->find(arrowOp)) {
                     if (overload->type()->isFunctionType()) {
-                        FullySpecifiedType overloadTy = GenTemplateInstance::instantiate(binding->templateId(), overload, control());
+                        FullySpecifiedType overloadTy = DeprecatedGenTemplateInstance::instantiate(binding->templateId(), overload, control());
                         Function *instantiatedFunction = overloadTy->asFunctionType();
                         Q_ASSERT(instantiatedFunction != 0);
 
@@ -641,7 +641,7 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &bas
 
 FullySpecifiedType ResolveExpression::instantiate(const Name *className, Symbol *candidate) const
 {
-    return GenTemplateInstance::instantiate(className, candidate, _context.control());
+    return DeprecatedGenTemplateInstance::instantiate(className, candidate, _context.control());
 }
 
 bool ResolveExpression::visit(PostIncrDecrAST *)
diff --git a/src/libs/cplusplus/cplusplus-lib.pri b/src/libs/cplusplus/cplusplus-lib.pri
index cdd03b7b4f06bf85828520c794e1981d0b54e714..07bf94934196b3c69724bb258b8ec17fa4bbb589 100644
--- a/src/libs/cplusplus/cplusplus-lib.pri
+++ b/src/libs/cplusplus/cplusplus-lib.pri
@@ -39,7 +39,7 @@ HEADERS += \
     $$PWD/DeprecatedLookupContext.h \
     $$PWD/CppBindings.h \
     $$PWD/ASTParent.h \
-    $$PWD/GenTemplateInstance.h \
+    $$PWD/DeprecatedGenTemplateInstance.h \
     $$PWD/FindUsages.h \
     $$PWD/CheckUndefinedSymbols.h \
     $$PWD/DependencyTable.h \
@@ -66,7 +66,7 @@ SOURCES += \
     $$PWD/DeprecatedLookupContext.cpp \
     $$PWD/CppBindings.cpp \
     $$PWD/ASTParent.cpp \
-    $$PWD/GenTemplateInstance.cpp \
+    $$PWD/DeprecatedGenTemplateInstance.cpp \
     $$PWD/FindUsages.cpp \
     $$PWD/CheckUndefinedSymbols.cpp \
     $$PWD/DependencyTable.cpp \
diff --git a/tests/auto/cplusplus/semantic/tst_semantic.cpp b/tests/auto/cplusplus/semantic/tst_semantic.cpp
index 1fe9dc183943a83ee4b4def6b3ee813bcca053b5..85e7004eb7201f5d6e1d888e531a612f10968130 100644
--- a/tests/auto/cplusplus/semantic/tst_semantic.cpp
+++ b/tests/auto/cplusplus/semantic/tst_semantic.cpp
@@ -15,7 +15,7 @@
 #include <Names.h>
 #include <Literals.h>
 #include <DiagnosticClient.h>
-#include <GenTemplateInstance.h>
+#include <DeprecatedGenTemplateInstance.h>
 #include <Overview.h>
 #include <ExpressionUnderCursor.h>
 #include <Names.h>
@@ -436,7 +436,7 @@ void tst_Semantic::template_instance_1()
     FullySpecifiedType templArgs[] = { control.integerType(IntegerType::Int) };
     const Name *templId = control.templateNameId(control.findOrInsertIdentifier("QList"), templArgs, 1);
 
-    FullySpecifiedType genTy = GenTemplateInstance::instantiate(templId, decl, &control);
+    FullySpecifiedType genTy = DeprecatedGenTemplateInstance::instantiate(templId, decl, &control);
 
     Overview oo;
     oo.setShowReturnTypes(true);