diff --git a/src/gbproxy/gb_proxy.c b/src/gbproxy/gb_proxy.c
index 736bd7a..1ca4fc6 100644
--- a/src/gbproxy/gb_proxy.c
+++ b/src/gbproxy/gb_proxy.c
@@ -1058,6 +1058,14 @@
 			LOGP(DGPRS, LOGL_INFO, "NSEI=%u Rx BVC RESET (BVCI=%u)\n",
 				nsei, bvci);
 			if (bvci == 0) {
+				struct gbproxy_nse *nse;
+				/* Ensure the NSE peer is there and clear all PtP BVCs */
+				nse = gbproxy_nse_by_nsei_or_new(cfg, nsei);
+				if (!nse)
+					LOGP(DGPRS, LOGL_ERROR, "Could not allocate NSE for NSEI=%u\n", nsei);
+
+				gbproxy_cleanup_peers(cfg, nsei, 0);
+
 				/* FIXME: only do this if SGSN is alive! */
 				LOGP(DGPRS, LOGL_INFO, "NSEI=%u Tx fake "
 					"BVC RESET ACK of BVCI=0\n", nsei);
@@ -1066,10 +1074,11 @@
 			}
 			from_peer = gbproxy_peer_by_bvci(cfg, bvci);
 			if (!from_peer) {
-				struct gbproxy_nse *nse = gbproxy_nse_by_nsei_or_new(cfg, nsei);
+				struct gbproxy_nse *nse = gbproxy_nse_by_nsei(cfg, nsei);
 				if (!nse) {
-					LOGP(DGPRS, LOGL_ERROR, "Could not allocate NSE for NSEI=%u\n", nsei);
-					return bssgp_tx_status(BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg);
+					LOGP(DGPRS, LOGL_NOTICE, "Got PtP BVC reset before signalling reset for "
+						"BVCI=%u NSEI=%u\n", bvci, nsei);
+					return bssgp_tx_status(BSSGP_CAUSE_PDU_INCOMP_STATE, NULL, msg);
 				}
 				/* if a PTP-BVC is reset, and we don't know that
 				 * PTP-BVCI yet, we should allocate a new peer */
@@ -1081,10 +1090,11 @@
 			/* Could have moved to a different NSE */
 			if (!check_peer_nsei(from_peer, nsei)) {
 				struct gbproxy_nse *nse_old = from_peer->nse;
-				struct gbproxy_nse *nse_new = gbproxy_nse_by_nsei_or_new(cfg, nsei);
+				struct gbproxy_nse *nse_new = gbproxy_nse_by_nsei(cfg, nsei);
 				if (!nse_new) {
-					LOGP(DGPRS, LOGL_ERROR, "Could not allocate NSE for NSEI=%u\n", nsei);
-					return bssgp_tx_status(BSSGP_CAUSE_PROTO_ERR_UNSPEC, NULL, msg);
+					LOGP(DGPRS, LOGL_NOTICE, "Got PtP BVC reset before signalling reset for "
+						"BVCI=%u NSEI=%u\n", bvci, nsei);
+					return bssgp_tx_status(BSSGP_CAUSE_PDU_INCOMP_STATE, NULL, msg);
 				}
 				LOGP(DGPRS, LOGL_NOTICE, "Peer for BVCI=%u moved from NSEI=%u to NSEI=%u\n", bvci, nse_old->nsei, nsei);
 
diff --git a/tests/gbproxy/gbproxy_test.c b/tests/gbproxy/gbproxy_test.c
index 06734b4..fec5914 100644
--- a/tests/gbproxy/gbproxy_test.c
+++ b/tests/gbproxy/gbproxy_test.c
@@ -930,6 +930,7 @@
 	       "NSEI 0x%04x(%d)\n\n",
 	       nsei, nsei);
 	send_ns_avail(nsi, nsei);
+	send_bssgp_reset(nsi, nsei, 0);
 }
 
 static void setup_bssgp(struct gprs_ns2_inst *nsi,
diff --git a/tests/gbproxy/gbproxy_test.ok b/tests/gbproxy/gbproxy_test.ok
index 14a2641..fbd5366 100644
--- a/tests/gbproxy/gbproxy_test.ok
+++ b/tests/gbproxy/gbproxy_test.ok
@@ -13,6 +13,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x1002(4098)
 
 PROCESSING BVC_RESET from NSEI 4096
@@ -48,6 +57,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 8192
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=8192 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x2002(8194)
 
 PROCESSING BVC_RESET from NSEI 8192
@@ -366,6 +384,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 --- Setup BVCI 1 ---
 
 Setup BSSGP: BVCI 0x1002(4098)
@@ -488,6 +515,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 8192
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=8192 BVCI=0):
+23 04 82 00 00 
+
 --- Setup BVCI 1 ---
 
 Setup BSSGP: BVCI 0x1002(4098)
@@ -679,6 +715,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x1002(4098)
 
 PROCESSING BVC_RESET from NSEI 4096
@@ -1057,6 +1102,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x1002(4098)
 
 PROCESSING BVC_RESET from NSEI 4096
@@ -1342,6 +1396,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x1002(4098)
 
 PROCESSING BVC_RESET from NSEI 4096
@@ -1991,6 +2054,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x1002(4098)
 
 PROCESSING BVC_RESET from NSEI 4096
@@ -2250,6 +2322,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x1002(4098)
 
 PROCESSING BVC_RESET from NSEI 4096
@@ -2966,6 +3047,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x0000(0)
 
 PROCESSING BVC_RESET from NSEI 4096
@@ -4108,6 +4198,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x1002(4098)
 
 PROCESSING BVC_RESET from NSEI 4096
@@ -5716,6 +5815,15 @@
 
 NS2 CALLBACK, prim 2, bvci 0x0000
 
+PROCESSING BVC_RESET from NSEI 4096
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+NS2 CALLBACK, prim 0, msg length 18, bvci 0x0000
+22 04 82 00 00 07 81 08 08 88 11 22 33 40 50 60 10 00 
+
+Message for BSS (NSEI=4096 BVCI=0):
+23 04 82 00 00 
+
 Setup BSSGP: BVCI 0x1002(4098)
 
 PROCESSING BVC_RESET from NSEI 4096
