diff --git a/clang-tidy/google/ExplicitMakePairCheck.cpp b/clang-tidy/google/ExplicitMakePairCheck.cpp
index ae5fbd6..e29b1ad 100644
--- a/clang-tidy/google/ExplicitMakePairCheck.cpp
+++ b/clang-tidy/google/ExplicitMakePairCheck.cpp
@@ -20,6 +20,15 @@
 AST_MATCHER(DeclRefExpr, hasExplicitTemplateArgs) {
   return Node.hasExplicitTemplateArgs();
 }
+
+// FIXME: This should just be callee(ignoringImpCasts()) but it's not overloaded
+// for Expr.
+AST_MATCHER_P(CallExpr, calleeIgnoringParenImpCasts, internal::Matcher<Stmt>,
+              InnerMatcher) {
+  const Expr *ExprNode = Node.getCallee();
+  return (ExprNode != nullptr &&
+          InnerMatcher.matches(*ExprNode->IgnoreParenImpCasts(), Finder, Builder));
+}
 } // namespace ast_matchers
 
 namespace tidy {
@@ -33,8 +42,10 @@
       callExpr(unless(hasAncestor(decl(anyOf(
                    recordDecl(ast_matchers::isTemplateInstantiation()),
                    functionDecl(ast_matchers::isTemplateInstantiation()))))),
-               has(declRefExpr(hasExplicitTemplateArgs()).bind("declref")),
-               callee(functionDecl(hasName("::std::make_pair")))).bind("call"),
+               calleeIgnoringParenImpCasts(
+                   declRefExpr(hasExplicitTemplateArgs(),
+                               to(functionDecl(hasName("::std::make_pair"))))
+                       .bind("declref"))).bind("call"),
       this);
 }
 
diff --git a/test/clang-tidy/google-explicit-make-pair.cpp b/test/clang-tidy/google-explicit-make-pair.cpp
index 4d7b209..895b8e6 100644
--- a/test/clang-tidy/google-explicit-make-pair.cpp
+++ b/test/clang-tidy/google-explicit-make-pair.cpp
@@ -21,6 +21,9 @@
 // CHECK-FIXES: std::make_pair(1, 2)
 }
 
+template <typename T>
+int t();
+
 void test(int i) {
   std::make_pair<int, int>(i, i);
 // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: for C++11-compatibility, omit template arguments from make_pair
@@ -45,4 +48,5 @@
   templ(1U, 2U);
 
   std::make_pair(i, 1); // no-warning
+  std::make_pair(t<int>, 1);
 }
