diff --git a/openbsc/src/libmsc/db.c b/openbsc/src/libmsc/db.c
index 8a7ff90..21abce9 100644
--- a/openbsc/src/libmsc/db.c
+++ b/openbsc/src/libmsc/db.c
@@ -639,7 +639,7 @@
 	if (!dbi_result_field_is_null(result, "expire_lu"))
 		subscr->expire_lu = dbi_result_get_datetime(result, "expire_lu");
 	else
-		subscr->expire_lu = 0;
+		subscr->expire_lu = GSM_SUBSCRIBER_NO_EXPIRATION;
 
 	subscr->authorized = dbi_result_get_uint(result, "authorized");
 }
@@ -766,23 +766,42 @@
 	} else
 		q_tmsi = strdup("NULL");
 
-	result = dbi_conn_queryf(conn,
-		"UPDATE Subscriber "
-		"SET updated = datetime('now'), "
-		"name = %s, "
-		"extension = %s, "
-		"authorized = %i, "
-		"tmsi = %s, "
-		"lac = %i, "
-		"expire_lu = datetime(%i, 'unixepoch') "
-		"WHERE imsi = %s ",
-		q_name,
-		q_extension,
-		subscriber->authorized,
-		q_tmsi,
-		subscriber->lac,
-		(int) subscriber->expire_lu,
-		subscriber->imsi);
+	if (subscriber->expire_lu == GSM_SUBSCRIBER_NO_EXPIRATION) {
+		result = dbi_conn_queryf(conn,
+			"UPDATE Subscriber "
+			"SET updated = datetime('now'), "
+			"name = %s, "
+			"extension = %s, "
+			"authorized = %i, "
+			"tmsi = %s, "
+			"lac = %i, "
+			"expire_lu = NULL "
+			"WHERE imsi = %s ",
+			q_name,
+			q_extension,
+			subscriber->authorized,
+			q_tmsi,
+			subscriber->lac,
+			subscriber->imsi);
+	} else {
+		result = dbi_conn_queryf(conn,
+			"UPDATE Subscriber "
+			"SET updated = datetime('now'), "
+			"name = %s, "
+			"extension = %s, "
+			"authorized = %i, "
+			"tmsi = %s, "
+			"lac = %i, "
+			"expire_lu = datetime(%i, 'unixepoch') "
+			"WHERE imsi = %s ",
+			q_name,
+			q_extension,
+			subscriber->authorized,
+			q_tmsi,
+			subscriber->lac,
+			(int) subscriber->expire_lu,
+			subscriber->imsi);
+	}
 
 	free(q_tmsi);
 	free(q_name);
@@ -852,8 +871,8 @@
 			"SELECT id "
 			"FROM Subscriber "
 			"WHERE lac != 0 AND "
-				"( expire_lu is NULL "
-				"OR expire_lu < datetime('now') ) "
+				"( expire_lu is NOT NULL "
+				"AND expire_lu < datetime('now') ) "
 			"LIMIT 1");
 	if (!result) {
 		LOGP(DDB, LOGL_ERROR, "Failed to get expired subscribers\n");
diff --git a/openbsc/src/libmsc/gsm_subscriber.c b/openbsc/src/libmsc/gsm_subscriber.c
index 6abb0d8..5ace8f6 100644
--- a/openbsc/src/libmsc/gsm_subscriber.c
+++ b/openbsc/src/libmsc/gsm_subscriber.c
@@ -333,8 +333,14 @@
 	 * periodic updating in decihours. Mark the subscriber as
 	 * inactive if it missed two consecutive location updates.
 	 * Timeout is twice the t3212 value plus one minute */
-	s->expire_lu = time(NULL) +
+
+	/* Is expiration handling enabled? */
+	if (bts->si_common.chan_desc.t3212 == 0)
+		s->expire_lu = GSM_SUBSCRIBER_NO_EXPIRATION;
+	else
+		s->expire_lu = time(NULL) +
 			(bts->si_common.chan_desc.t3212 * 60 * 6 * 2) + 60;
+
 	rc = db_sync_subscriber(s);
 	db_subscriber_update(s);
 	return rc;
@@ -354,11 +360,6 @@
 		LOGP(DMM, LOGL_INFO, "Subscriber %s ATTACHED LAC=%u\n",
 			subscr_name(s), s->lac);
 
-		/* FIXME: We should allow 0 for T3212 as well to disable the
-		 * location update period. In that case we will need a way to
-		 * indicate that in the database and then reenable that value in
-		 * VTY.
-		 */
 		/*
 		 * The below will set a new expire_lu but as a side-effect
 		 * the new lac will be saved in the database.
