diff --git a/include/openbsc/gsm_04_08.h b/include/openbsc/gsm_04_08.h
index 424d4aa..6b0517e 100644
--- a/include/openbsc/gsm_04_08.h
+++ b/include/openbsc/gsm_04_08.h
@@ -375,6 +375,7 @@
 struct msgb;
 struct gsm_bts;
 
+void gsm0408_allow_everyone(int allow);
 int gsm0408_rcvmsg(struct msgb *msg);
 void gsm0408_generate_lai(struct gsm48_loc_area_id *lai48, u_int16_t mcc, 
 		u_int16_t mnc, u_int16_t lac);
diff --git a/src/bsc_hack.c b/src/bsc_hack.c
index ff90b85..623907c 100644
--- a/src/bsc_hack.c
+++ b/src/bsc_hack.c
@@ -669,6 +669,7 @@
 	printf("  -n --network-code number(MNC) \n");
 	printf("  -c --country-code number (MCC) \n");
 	printf("  -l --database db-name The database to use\n");
+	printf("  -a --authorize-everyone Allow everyone into the network.\n");
 	printf("  -h --help this text\n");
 }
 
@@ -683,10 +684,11 @@
 			{"network-code", 1, 0, 'n'},
 			{"country-code", 1, 0, 'c'},
 			{"database", 1, 0, 'l'},
+			{"authorize-everyone", 0, 0, 'a'},
 			{0, 0, 0, 0}
 		};
 
-		c = getopt_long(argc, argv, "hc:n:d:s",
+		c = getopt_long(argc, argv, "hc:n:d:sa",
 				long_options, &option_index);
 		if (c == -1)
 			break;
@@ -711,6 +713,9 @@
                 case 'l':
 			database_name = strdup(optarg);
 			break;
+		case 'a':
+			gsm0408_allow_everyone(1);
+			break;
 		default:
 			/* ignore */
 			break;
diff --git a/src/gsm_04_08.c b/src/gsm_04_08.c
index b19c92c..0560685 100644
--- a/src/gsm_04_08.c
+++ b/src/gsm_04_08.c
@@ -51,6 +51,23 @@
 	u_int16_t lac;
 };
 
+static int authorize_everonye = 0;
+void gsm0408_allow_everyone(int everyone)
+{
+	printf("Allowing everyone?\n");
+	authorize_everonye = everyone;
+}
+
+static int authorize_subscriber(struct gsm_subscriber *subscriber)
+{
+	if (!subscriber)
+		return 0;
+
+	if (authorize_everonye)
+		return 1;
+
+	return subscriber->authorized;
+}
 
 
 static void parse_lai(struct gsm_lai *lai, const struct gsm48_loc_area_id *lai48)
@@ -293,7 +310,7 @@
 
 		/* We have a pending UPDATING REQUEST handle it now */
 		if (lchan->pending_update_request) {
-			if (lchan->subscr->authorized) {
+			if (authorize_subscriber(lchan->subscr)) {
 				db_subscriber_alloc_tmsi(lchan->subscr);
 				tmsi = strtoul(lchan->subscr->tmsi, NULL, 10);
 				return gsm0408_loc_upd_acc(msg->lchan, tmsi);
@@ -380,7 +397,7 @@
 	lchan->subscr = subscr;
 
 	/* we know who we deal with and don't want him */
-	if (subscr && !subscr->authorized) {
+	if (subscr && !authorize_subscriber(subscr)) {
 		schedule_reject(lchan);
 		return 0;
 	} else if (!subscr) {
