diff --git a/UPGRADE.txt b/UPGRADE.txt
index 0e6a942ee21c2faf47e7f97527e1d545ae5f2ccb..68790a8be0f779ca3bb0d301b6b8aa67a75e99f7 100644
--- a/UPGRADE.txt
+++ b/UPGRADE.txt
@@ -92,6 +92,8 @@ AMI:
     the DBDel action does.
   - The IAX2 PeerStatus event now sends a 'Port' header.  In Asterisk 10, this was
     erroneously being sent as a 'Post' header.
+  - The SIP SIPqualifypeer action now receives an appropriate response when it
+    is completed successfully. It also no longer sends extra blank lines afterwards.
 
 CCSS:
  - Macro is deprecated. Use cc_callback_sub instead of cc_callback_macro
diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index f5d5a79c60669f117ed73a90e79823f11c368659..c5badfe9057c6cfcd5e33866578921c1c561ddc9 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -18934,14 +18934,6 @@ static char *_sip_qualify_peer(int type, int fd, struct mansession *s, const str
 	struct sip_peer *peer;
 	int load_realtime;
 
-	const char *id = astman_get_header(m,"ActionID");
-	char idText[256] = "";
-
-	if (!ast_strlen_zero(id)) {
-		snprintf(idText, sizeof(idText), "ActionID: %s\r\n", id);
-	}
-
-
 	if (argc < 4)
 		return CLI_SHOWUSAGE;
 
@@ -18958,11 +18950,7 @@ static char *_sip_qualify_peer(int type, int fd, struct mansession *s, const str
 	}
 
 	if (type != 0) {
-		astman_append(s,
-		"Event: SIPqualifypeerComplete\r\n"
-		"%s"
-		"\r\n",
-		idText);
+		astman_send_ack(s, m, "Qualify Peer successful");
 	}
 
 	return CLI_SUCCESS;