diff --git a/channels/chan_sip.c b/channels/chan_sip.c
index 66087f32629c23b9b279e1ea02e6d749829ce0f0..e6a60203d5e39f56bae2427a7bbb268ea41f0393 100644
--- a/channels/chan_sip.c
+++ b/channels/chan_sip.c
@@ -1491,7 +1491,6 @@ static int local_attended_transfer(struct sip_pvt *transferer, struct sip_dual *
 /*------Response handling functions */
 static void handle_response_invite(struct sip_pvt *p, int resp, char *rest, struct sip_request *req, int seqno);
 static void handle_response_refer(struct sip_pvt *p, int resp, char *rest, struct sip_request *req, int seqno);
-static int handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_request *req);
 static int handle_response_register(struct sip_pvt *p, int resp, char *rest, struct sip_request *req, int ignore, int seqno);
 static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_request *req, int ignore, int seqno);
 
@@ -11679,15 +11678,17 @@ static int handle_response_register(struct sip_pvt *p, int resp, char *rest, str
 }
 
 /*! \brief Handle qualification responses (OPTIONS) */
-static int handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_request *req)
+static void handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_request *req)
 {
 	struct sip_peer *peer;
 	int pingtime;
 	struct timeval tv;
+	int statechanged = 0;
+	int newstate = 0;
+
+	if (resp == 100)
+		return;
 
-	if (resp != 100) {
-		int statechanged = 0;
-		int newstate = 0;
 		peer = p->relatedpeer;
 		gettimeofday(&tv, NULL);
 		pingtime = ast_tvdiff_ms(tv, peer->ps);
@@ -11728,8 +11729,6 @@ static int handle_response_peerpoke(struct sip_pvt *p, int resp, struct sip_requ
 			peer->pokeexpire = ast_sched_add(sched, DEFAULT_FREQ_NOTOK, sip_poke_peer_s, peer);
 		else
 			peer->pokeexpire = ast_sched_add(sched, DEFAULT_FREQ_OK, sip_poke_peer_s, peer);
-	}
-	return 1;
 }
 
 /*! \brief Immediately stop RTP, VRTP and UDPTL as applicable */
@@ -11782,7 +11781,7 @@ static void handle_response(struct sip_pvt *p, int resp, char *rest, struct sip_
 		   Well, as long as it's not a 100 response...  since we might
 		   need to hang around for something more "definitive" */
 
-		res = handle_response_peerpoke(p, resp, req);
+		handle_response_peerpoke(p, resp, req);
 	} else if (ast_test_flag(&p->flags[0], SIP_OUTGOING)) {
 		switch(resp) {
 		case 100:	/* 100 Trying */