diff --git lib/Sema/SemaTemplateInstantiateDecl.cpp lib/Sema/SemaTemplateInstantiateDecl.cpp
index bbf8f50..b3a4b64 100644
--- lib/Sema/SemaTemplateInstantiateDecl.cpp
+++ lib/Sema/SemaTemplateInstantiateDecl.cpp
@@ -2424,7 +2424,7 @@ void Sema::InstantiateExceptionSpec(SourceLocation PointOfInstantiation,
 bool
 TemplateDeclInstantiator::InitFunctionInstantiation(FunctionDecl *New,
                                                     FunctionDecl *Tmpl) {
-  if (Tmpl->isDeletedAsWritten())
+  if (Tmpl->isDeleted())
     New->setDeletedAsWritten();
 
   // If we are performing substituting explicitly-specified template arguments
diff --git test/SemaCXX/deleted-function.cpp test/SemaCXX/deleted-function.cpp
index 2ee6064..2e9695e 100644
--- test/SemaCXX/deleted-function.cpp
+++ test/SemaCXX/deleted-function.cpp
@@ -59,7 +59,6 @@ DelDtor dd; // expected-error {{attempt to use a deleted function}}
 template<typename> void test2() = delete;
 template void test2<int>();
 
-// test3 really shouldn't have behavior that differs from test2 above
-template<typename> void test3() = delete; // expected-note {{explicit instantiation refers here}}
+template<typename> void test3() = delete;
 template<typename> void test3();
-template void test3<int>(); // expected-error {{explicit instantiation of undefined function template 'test3'}}
+template void test3<int>();
