diff --git a/src/bsc_hack.c b/src/bsc_hack.c
index e2746e3..dba7933 100644
--- a/src/bsc_hack.c
+++ b/src/bsc_hack.c
@@ -26,6 +26,7 @@
 #include <time.h>
 #include <string.h>
 #include <errno.h>
+#include <signal.h>
 
 #define _GNU_SOURCE
 #include <getopt.h>
@@ -348,7 +349,35 @@
 	abis_nm_event_reports(bts, 1);
 }
 
+static int shutdown_om(struct gsm_bts *bts)
+{
+	/* stop sending event reports */
+	abis_nm_event_reports(bts, 0);
 
+	/* begin DB transmission */
+	abis_nm_db_transmission(bts, 1);
+
+	/* end DB transmission */
+	abis_nm_db_transmission(bts, 0);
+
+	/* Reset BTS Site manager resource */
+	abis_nm_reset_resource(bts);
+
+	return 0;
+}
+
+static int shutdown_net(struct gsm_network *net)
+{
+	int i;
+	for (i = 0; i < net->num_bts; i++) {
+		int rc;
+		rc = shutdown_om(&net->bts[i]);
+		if (rc < 0)
+			return rc;
+	}
+
+	return 0;
+}
 
 struct bcch_info {
 	u_int8_t type;
@@ -918,6 +947,20 @@
 	pag_timer_cb(0);
 }
 
+static void signal_handler(int signal)
+{
+	fprintf(stdout, "signal %u received\n", signal);
+
+	switch (signal) {
+	case SIGHUP:
+	case SIGABRT:
+		shutdown_net(gsmnet);
+		break;
+	default:
+		break;
+	}
+}
+
 int main(int argc, char **argv)
 {
 	/* parse options */
@@ -937,6 +980,9 @@
 
 	bootstrap_network();
 
+	signal(SIGHUP, &signal_handler);
+	signal(SIGABRT, &signal_handler);
+
 	while (1) {
 		bsc_select_main();
 	}
