diff --git a/openbsc/tests/gbproxy/gbproxy_test.c b/openbsc/tests/gbproxy/gbproxy_test.c
index 39800aa..f1c24f9 100644
--- a/openbsc/tests/gbproxy/gbproxy_test.c
+++ b/openbsc/tests/gbproxy/gbproxy_test.c
@@ -1330,8 +1330,10 @@
 	const char *err_msg = NULL;
 	const uint8_t imsi1[] = { GSM_MI_TYPE_IMSI, 0x23, 0x24, 0x25, 0x26 };
 	const uint8_t imsi2[] = { GSM_MI_TYPE_IMSI, 0x26, 0x27, 0x28, 0x29 };
+	const uint8_t imsi3[] = { GSM_MI_TYPE_IMSI | 0x10, 0x32, 0x54, 0x76, 0xf8 };
 	const uint32_t tlli1 = 1234 | 0xc0000000;
 	const uint32_t tlli2 = 5678 | 0xc0000000;
+	const uint32_t tlli3 = 3456 | 0xc0000000;
 	const char *filter_re = ".*";
 	time_t now = 1407479214;
 
@@ -1463,16 +1465,54 @@
 		gbprox_register_tlli(peer, tlli1, imsi1, ARRAY_SIZE(imsi1), now);
 		OSMO_ASSERT(peer->patch_state.enabled_tllis_count == 1);
 
-		/* replace the old entry */
-		printf("  Add TLLI 2, IMSI 2 (should expire after timeout)\n");
-		gbprox_register_tlli(peer, tlli2, imsi2, ARRAY_SIZE(imsi2), now);
+		printf("  Add TLLI 2, IMSI 2 (should not expire after timeout)\n");
+		gbprox_register_tlli(peer, tlli2, imsi2, ARRAY_SIZE(imsi2),
+				     now + 1);
 		OSMO_ASSERT(peer->patch_state.enabled_tllis_count == 2);
 
 		num_removed = gbprox_remove_stale_tllis(peer, now + 2);
-		OSMO_ASSERT(num_removed == 2);
+		OSMO_ASSERT(num_removed == 1);
+		OSMO_ASSERT(peer->patch_state.enabled_tllis_count == 1);
+
+		dump_peers(stdout, 2, now + 2, &cfg);
+
+		printf("\n");
+
+		gbproxy_peer_free(peer);
+	}
+
+	{
+		int num_removed;
+
+		printf("Test TLLI expiry, max_len == 2, max_age == 1:\n");
+
+		cfg.tlli_max_len = 0;
+		cfg.tlli_max_age = 1;
+		peer = gbproxy_peer_alloc(&cfg, 20);
 		OSMO_ASSERT(peer->patch_state.enabled_tllis_count == 0);
 
-		dump_peers(stdout, 2, now, &cfg);
+		printf("  Add TLLI 1, IMSI 1 (should expire)\n");
+		gbprox_register_tlli(peer, tlli1, imsi1, ARRAY_SIZE(imsi1), now);
+		OSMO_ASSERT(peer->patch_state.enabled_tllis_count == 1);
+
+		printf("  Add TLLI 2, IMSI 2 (should expire after timeout)\n");
+		gbprox_register_tlli(peer, tlli2, imsi2, ARRAY_SIZE(imsi2),
+				     now + 1);
+		OSMO_ASSERT(peer->patch_state.enabled_tllis_count == 2);
+
+		printf("  Add TLLI 3, IMSI 3 (should not expire after timeout)\n");
+		gbprox_register_tlli(peer, tlli3, imsi3, ARRAY_SIZE(imsi3),
+				     now + 2);
+		OSMO_ASSERT(peer->patch_state.enabled_tllis_count == 3);
+
+		dump_peers(stdout, 2, now + 2, &cfg);
+
+		printf("  Remove stale TLLIs\n");
+		num_removed = gbprox_remove_stale_tllis(peer, now + 3);
+		OSMO_ASSERT(num_removed == 2);
+		OSMO_ASSERT(peer->patch_state.enabled_tllis_count == 1);
+
+		dump_peers(stdout, 2, now + 2, &cfg);
 
 		printf("\n");
 
diff --git a/openbsc/tests/gbproxy/gbproxy_test.ok b/openbsc/tests/gbproxy/gbproxy_test.ok
index aea4de3..363a6e9 100644
--- a/openbsc/tests/gbproxy/gbproxy_test.ok
+++ b/openbsc/tests/gbproxy/gbproxy_test.ok
@@ -1919,10 +1919,30 @@
 
 Test TLLI expiry, max_age == 1:
   Add TLLI 1, IMSI 1 (should expire after timeout)
-  Add TLLI 2, IMSI 2 (should expire after timeout)
+  Add TLLI 2, IMSI 2 (should not expire after timeout)
   Peers:
     NSEI 0, BVCI 20, not blocked, RAI 0-0-0-0
-      TLLI-Cache: 0
+      TLLI cache size                 : 1
+      TLLI-Cache: 1
+        TLLI c000162e, IMSI 06272829, AGE 1
+
+Test TLLI expiry, max_len == 2, max_age == 1:
+  Add TLLI 1, IMSI 1 (should expire)
+  Add TLLI 2, IMSI 2 (should expire after timeout)
+  Add TLLI 3, IMSI 3 (should not expire after timeout)
+  Peers:
+    NSEI 0, BVCI 20, not blocked, RAI 0-0-0-0
+      TLLI cache size                 : 3
+      TLLI-Cache: 3
+        TLLI c0000d80, IMSI 12345678, AGE 0
+        TLLI c000162e, IMSI 06272829, AGE 1
+        TLLI c00004d2, IMSI 03242526, AGE 2
+  Remove stale TLLIs
+  Peers:
+    NSEI 0, BVCI 20, not blocked, RAI 0-0-0-0
+      TLLI cache size                 : 1
+      TLLI-Cache: 1
+        TLLI c0000d80, IMSI 12345678, AGE 0
 
 ===== GbProxy test END
 
