diff --git a/lib/Lex/Pragma.cpp b/lib/Lex/Pragma.cpp
index f2a7e65e450ee0ad7abff27bc038a2522bd38233..ff10acc6adca020d4d910a218a65c378680b616a 100644
--- a/lib/Lex/Pragma.cpp
+++ b/lib/Lex/Pragma.cpp
@@ -1026,7 +1026,7 @@ public:
 
     diag::Flavor Flavor = WarningName[1] == 'W' ? diag::Flavor::WarningOrError
                                                 : diag::Flavor::Remark;
-    StringRef Group = WarningName.substr(2);
+    StringRef Group = StringRef(WarningName).substr(2);
     bool unknownDiag = false;
     if (Group == "everything") {
       // Special handling for pragma clang diagnostic ... "-Weverything".