diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index b80ca122bdf553ba896745c76ac9e35531bf79fb..05f5900edc33e31a89d89e5fd12eb9a96a9f1a1b 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -1268,7 +1268,6 @@ void ClassOrNamespace::NestedClassInstantiator::instantiate(ClassOrNamespace *en
             }
         }
 
-        nestedClassOrNamespaceInstantiation->_parent = enclosingTemplateClassInstantiation;
         instantiate(nestedClassOrNamespace, nestedClassOrNamespaceInstantiation);
 
         enclosingTemplateClassInstantiation->_classOrNamespaces[nestedName] =
diff --git a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
index d3947b478c9114675f39376bfe303b1e3d604f03..fd369efce90d142b96dd1f46072c2932841b6646 100644
--- a/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
+++ b/src/plugins/cppeditor/followsymbol_switchmethoddecldef_test.cpp
@@ -901,6 +901,17 @@ void CppEditorPlugin::test_FollowSymbolUnderCursor_data()
         "    void foo();\n"
         "};\n"
     );
+
+    QTest::newRow("infiniteLoopLocalTypedef_QTCREATORBUG-11999") << _(
+        "template<class MyTree>\n"
+        "class TreeConstIterator\n"
+        "{\n"
+        "    typedef TreeConstIterator<MyTree> MyIter;\n"
+        "    void f() { return this->@$g(); }\n"
+        "};\n"
+        "\n"
+        "void h() { typedef TreeConstIterator<MyBase> const_iterator; }\n"
+    );
 }
 
 void CppEditorPlugin::test_FollowSymbolUnderCursor()
diff --git a/src/plugins/cpptools/cppcompletion_test.cpp b/src/plugins/cpptools/cppcompletion_test.cpp
index 2b729b254f0b6ab73f0db7d3bd91ea7faade404d..8679d3120a1d9d677c963da95f48f01c34464c93 100644
--- a/src/plugins/cpptools/cppcompletion_test.cpp
+++ b/src/plugins/cpptools/cppcompletion_test.cpp
@@ -304,6 +304,8 @@ void CppToolsPlugin::test_completion()
     expectedCompletions.sort();
 
     QEXPECT_FAIL("enum_in_function_in_struct_in_function", "doesn't work", Abort);
+    QEXPECT_FAIL("nested_class_in_template_class_QTCREATORBUG-11752",
+                 "related to infiniteLoopLocalTypedef_QTCREATORBUG-11999", Abort);
     QCOMPARE(actualCompletions, expectedCompletions);
 }