diff --git a/src/gprs/gprs_sgsn.c b/src/gprs/gprs_sgsn.c
index 7174bd5..829204e 100644
--- a/src/gprs/gprs_sgsn.c
+++ b/src/gprs/gprs_sgsn.c
@@ -759,6 +759,11 @@
 	return num;
 }
 
+int sgsn_ggsn_ctx_drop_all_pdp(struct sgsn_ggsn_ctx *ggsn)
+{
+	return sgsn_ggsn_ctx_drop_all_pdp_except(ggsn, NULL);
+}
+
 void sgsn_ggsn_ctx_add_pdp(struct sgsn_ggsn_ctx *ggc, struct sgsn_pdp_ctx *pdp)
 {
 	llist_add(&pdp->ggsn_list, &ggc->pdp_list);
diff --git a/src/gprs/sgsn_libgtp.c b/src/gprs/sgsn_libgtp.c
index 79d5543..a8ad527 100644
--- a/src/gprs/sgsn_libgtp.c
+++ b/src/gprs/sgsn_libgtp.c
@@ -469,7 +469,8 @@
 
 void sgsn_ggsn_echo_req(struct sgsn_ggsn_ctx *ggc)
 {
-	gtp_echo_req(ggc->gsn, ggc->gtp_version, NULL, &ggc->remote_addr);
+	LOGGGSN(ggc, LOGL_INFO, "GTP Tx Echo Request\n");
+	gtp_echo_req(ggc->gsn, ggc->gtp_version, ggc, &ggc->remote_addr);
 }
 
 #ifdef BUILD_IU
@@ -579,13 +580,15 @@
 }
 
 /* Confirmation of an GTP ECHO request */
-static int echo_conf(struct pdp_t *pdp, void *cbp, int recovery)
+static int echo_conf(void *cbp, bool timeout)
 {
-	if (recovery < 0) {
-		LOGP(DGPRS, LOGL_NOTICE, "GTP Echo Request timed out\n");
+	struct sgsn_ggsn_ctx *ggc = (struct sgsn_ggsn_ctx *)cbp;
+	if (timeout) {
+		LOGGGSN(ggc, LOGL_NOTICE, "GTP Echo Request timed out\n");
 		/* FIXME: if version == 1, retry with version 0 */
+		sgsn_ggsn_ctx_drop_all_pdp(ggc);
 	} else {
-		DEBUGP(DGPRS, "GTP Rx Echo Response\n");
+		LOGGGSN(ggc, LOGL_INFO, "GTP Rx Echo Response\n");
 	}
 	return 0;
 }
@@ -630,8 +633,8 @@
 
 	switch (type) {
 	case GTP_ECHO_REQ:
-		/* libgtp hands us the RECOVERY number instead of a cause */
-		return echo_conf(pdp, cbp, cause);
+		/* libgtp hands us the RECOVERY number instead of a cause (EOF on timeout) */
+		return echo_conf(cbp, cause == EOF);
 	case GTP_CREATE_PDP_REQ:
 		return create_pdp_conf(pdp, cbp, cause);
 	case GTP_DELETE_PDP_REQ:
