diff --git a/clang/lib/AST/ItaniumMangle.cpp b/clang/lib/AST/ItaniumMangle.cpp
index 205e887..9d9cc3e 100644
--- a/clang/lib/AST/ItaniumMangle.cpp
+++ b/clang/lib/AST/ItaniumMangle.cpp
@@ -818,28 +818,21 @@
     case Type::Decltype:
     case Type::TemplateTypeParm:
     case Type::UnaryTransform:
+    case Type::SubstTemplateTypeParm:
     unresolvedType:
       assert(!qualifier->getPrefix());
 
       // We only get here recursively if we're followed by identifiers.
       if (recursive) Out << 'N';
 
-      // This seems to do everything we want.
+      // This seems to do everything we want.  It's not really
+      // sanctioned for a substituted template parameter, though.
       mangleType(QualType(type, 0));
 
       // We never want to print 'E' directly after an unresolved-type,
       // so we return directly.
       return;
 
-    // Substituted template type parameters should only come up with
-    // enclosing templates.
-    // <unresolved-type> ::= <existing-substitution> [ <template-args> ]
-    case Type::SubstTemplateTypeParm: {
-      if (recursive) Out << 'N';
-      mangleExistingSubstitution(QualType(type, 0));
-      return;
-    }
-
     case Type::Typedef:
       mangleSourceName(cast<TypedefType>(type)->getDecl()->getIdentifier());
       break;
