diff --git a/openbsc/include/openbsc/gb_proxy.h b/openbsc/include/openbsc/gb_proxy.h
index 82e47d5..7b14a09 100644
--- a/openbsc/include/openbsc/gb_proxy.h
+++ b/openbsc/include/openbsc/gb_proxy.h
@@ -35,5 +35,6 @@
 /* Reset all persistent NS-VC's */
 int gbprox_reset_persistent_nsvcs(struct gprs_ns_inst *nsi);
 
+int gbprox_dump_global(FILE *stream, int indent, int verbose);
 int gbprox_dump_peers(FILE *stream, int indent, int verbose);
 #endif
diff --git a/openbsc/src/gprs/gb_proxy.c b/openbsc/src/gprs/gb_proxy.c
index ddc9e0a..a25a9f5 100644
--- a/openbsc/src/gprs/gb_proxy.c
+++ b/openbsc/src/gprs/gb_proxy.c
@@ -800,6 +800,37 @@
 	return 0;
 }
 
+int gbprox_dump_global(FILE *stream, int indent, int verbose)
+{
+	unsigned int i;
+	const struct rate_ctr_group_desc *desc;
+	int rc;
+
+	rc = fprintf(stream, "%*sGbproxy global:\n", indent, "");
+	if (rc < 0)
+		return rc;
+
+	if (!verbose)
+		return 0;
+
+	desc = get_global_ctrg()->desc;
+
+	for (i = 0; i < desc->num_ctr; i++) {
+		struct rate_ctr *ctr = &get_global_ctrg()->ctr[i];
+		if (ctr->current) {
+			rc = fprintf(stream, "%*s    %s: %llu\n",
+				     indent, "",
+				     desc->ctr_desc[i].description,
+				     (long long)ctr->current);
+
+			if (rc < 0)
+				return rc;
+		}
+	}
+
+	return 0;
+}
+
 int gbprox_dump_peers(FILE *stream, int indent, int verbose)
 {
 	struct gbprox_peer *peer;
@@ -808,7 +839,10 @@
 	const struct rate_ctr_group_desc *desc;
 	int rc;
 
-	fprintf(stream, "%*sPeers:\n", indent, "");
+	rc = fprintf(stream, "%*sPeers:\n", indent, "");
+	if (rc < 0)
+		return rc;
+
 	llist_for_each_entry(peer, &gbprox_bts_peers, list) {
 		gsm48_parse_ra(&raid, peer->ra);
 
diff --git a/openbsc/tests/gbproxy/gbproxy_test.c b/openbsc/tests/gbproxy/gbproxy_test.c
index 21ee723..e1e6587 100644
--- a/openbsc/tests/gbproxy/gbproxy_test.c
+++ b/openbsc/tests/gbproxy/gbproxy_test.c
@@ -523,6 +523,8 @@
 	gprs_dump_nsi(nsi);
 	gbprox_dump_peers(stdout, 0, 1);
 
+	gbprox_dump_global(stdout, 0, 1);
+
 	send_bssgp_reset_ack(nsi, &sgsn_peer, 0x1002);
 
 	printf("--- Send message from BSS 1 to SGSN, BVCI 0x1002 ---\n\n");
@@ -533,6 +535,12 @@
 
 	send_ns_unitdata(nsi, NULL, &sgsn_peer, 0x1012, (uint8_t *)"", 0);
 
+	printf("--- Send message from SGSN to BSS 1, BVCI 0x10ff (invalid) ---\n\n");
+
+	send_ns_unitdata(nsi, NULL, &sgsn_peer, 0x10ff, (uint8_t *)"", 0);
+
+	gbprox_dump_global(stdout, 0, 1);
+
 	gprs_ns_destroy(nsi);
 	nsi = NULL;
 }
diff --git a/openbsc/tests/gbproxy/gbproxy_test.ok b/openbsc/tests/gbproxy/gbproxy_test.ok
index e4b7aba..fcde39f 100644
--- a/openbsc/tests/gbproxy/gbproxy_test.ok
+++ b/openbsc/tests/gbproxy/gbproxy_test.ok
@@ -749,6 +749,7 @@
     NSEI mismatch                   : 1
   NSEI 4096, BVCI 4098, not blocked, RAC 10-32-16464-96
     NSEI mismatch                   : 1
+Gbproxy global:
 PROCESSING BVC_RESET_ACK from 0x05060708:32000
 00 00 00 00 23 04 82 10 02 
 
@@ -795,5 +796,22 @@
 
 result (UNITDATA) = 4
 
+--- Send message from SGSN to BSS 1, BVCI 0x10ff (invalid) ---
+
+PROCESSING UNITDATA from 0x05060708:32000
+00 00 10 ff 
+
+CALLBACK, event 0, msg length 0, bvci 0x10ff
+
+
+NS UNITDATA MESSAGE to SGSN, BVCI 0x10ff, msg length 0
+
+
+MESSAGE to SGSN at 0x05060708:32000, msg length 4
+00 00 10 ff 
+
+result (UNITDATA) = 4
+
+Gbproxy global:
 ===== NS protocol test END
 
