diff --git a/res/values/strings.xml b/res/values/strings.xml
index 07d6cc9..df08d7c 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -75,13 +75,14 @@
         background. This app may be accessing and playing audio over the call.
     </string>
 
-    <!-- Crashed in call service notification label, used when the in call service has cranshed and
+    <!-- Crashed in call service notification label, used when the in call service has crashed and
          the system fall back to use system dialer. [CHAR LIMIT=NONE] -->
-    <string name="notification_crashedInCallService_title">Crashed phone app</string>
+    <string name="notification_incallservice_not_responding_title">
+        <xliff:g id="in_call_service_app_name">%s</xliff:g> stopped responding
+    </string>
     <!-- Body of the notification presented when an in call service crashed. [CHAR LIMIT=NONE] -->
-    <string name="notification_crashedInCallService_body">
-        Your phone app <xliff:g id="in_call_service_app_name">%s</xliff:g> has crashed.
-        You call was continued using the phone app that came with your device.
+    <string name="notification_incallservice_not_responding_body">
+        Your call used the phone app that came with your device
     </string>
 
     <!-- Content description of the call muted notification icon for
diff --git a/src/com/android/server/telecom/InCallController.java b/src/com/android/server/telecom/InCallController.java
index 05dd61e..bfcb79c 100644
--- a/src/com/android/server/telecom/InCallController.java
+++ b/src/com/android/server/telecom/InCallController.java
@@ -1825,12 +1825,11 @@
         builder.setSmallIcon(R.drawable.ic_phone)
                 .setColor(mContext.getResources().getColor(R.color.theme_color))
                 .setContentTitle(
-                        mContext.getText(
-                                R.string.notification_crashedInCallService_title))
+                        mContext.getString(
+                                R.string.notification_incallservice_not_responding_title, appName))
                 .setStyle(new Notification.BigTextStyle()
-                        .bigText(mContext.getString(
-                                R.string.notification_crashedInCallService_body,
-                                appName)));
+                        .bigText(mContext.getText(
+                                R.string.notification_incallservice_not_responding_body)));
         notificationManager.notify(NOTIFICATION_TAG, IN_CALL_SERVICE_NOTIFICATION_ID,
                 builder.build());
     }
