diff --git a/src/hnbgw.c b/src/hnbgw.c
index cd492bb..94d8fb9 100644
--- a/src/hnbgw.c
+++ b/src/hnbgw.c
@@ -204,6 +204,12 @@
 }
 static int hnb_close_cb(struct osmo_stream_srv *conn)
 {
+	struct hnb_context *hnb = osmo_stream_srv_get_data(conn);
+
+	/* This connection is about to be closed. Destroy the HNB context now. */
+	if (hnb)
+		hnb_context_release(hnb, false);
+
 	return 0;
 }
 
@@ -228,10 +234,10 @@
 	} else if (rc < 0) {
 		LOGP(DMAIN, LOGL_ERROR, "Error during sctp_recvmsg()\n");
 		/* FIXME: clean up after disappeared HNB */
-		hnb_context_release(hnb);
+		hnb_context_release(hnb, true);
 		goto out;
 	} else if (rc == 0) {
-		hnb_context_release(hnb);
+		hnb_context_release(hnb, true);
 		rc = -1;
 
 		goto out;
@@ -288,7 +294,7 @@
 	return ctx;
 }
 
-void hnb_context_release(struct hnb_context *ctx)
+void hnb_context_release(struct hnb_context *ctx, bool destroy_conn)
 {
 	struct hnbgw_context_map *map, *map2;
 
@@ -305,7 +311,9 @@
 		context_map_deactivate(map);
 	}
 	ue_context_free_by_hnb(ctx->gw, ctx);
-	osmo_stream_srv_destroy(ctx->conn);
+
+	if (destroy_conn)
+		osmo_stream_srv_destroy(ctx->conn);
 
 	talloc_free(ctx);
 }
