diff --git a/openbsc/tests/gprs/Makefile.am b/openbsc/tests/gprs/Makefile.am
index b57977b..633c362 100644
--- a/openbsc/tests/gprs/Makefile.am
+++ b/openbsc/tests/gprs/Makefile.am
@@ -6,7 +6,6 @@
 noinst_PROGRAMS = gprs_test
 
 gprs_test_SOURCES = gprs_test.c $(top_srcdir)/src/gprs/gprs_utils.c \
-		$(top_srcdir)/src/gprs/gprs_gsup_messages.c \
-		$(top_srcdir)/src/libcommon/utils.c
+		$(top_srcdir)/src/gprs/gprs_gsup_messages.c
 
 gprs_test_LDADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS)
diff --git a/openbsc/tests/gprs/gprs_test.c b/openbsc/tests/gprs/gprs_test.c
index c78b98a..24e44cf 100644
--- a/openbsc/tests/gprs/gprs_test.c
+++ b/openbsc/tests/gprs/gprs_test.c
@@ -146,247 +146,7 @@
 	}
 }
 
-/* TODO: Move tlv testing to libosmocore */
-static void check_tlv_parse(uint8_t **data, size_t *data_len,
-			    uint8_t exp_tag, size_t exp_len, const uint8_t *exp_val)
-{
-	uint8_t *value;
-	size_t value_len;
-	uint8_t tag;
-	int rc;
-	uint8_t *saved_data = *data;
-	size_t saved_data_len = *data_len;
-
-	rc = gprs_match_tlv(data, data_len, exp_tag ^ 1, NULL, NULL);
-	OSMO_ASSERT(rc == 0);
-
-	rc = gprs_match_tlv(data, data_len, exp_tag, &value, &value_len);
-	OSMO_ASSERT(rc == (int)value_len + 2);
-	OSMO_ASSERT(value_len == exp_len);
-	OSMO_ASSERT(memcmp(value, exp_val, exp_len) == 0);
-
-	/* restore data/data_len */
-	*data = saved_data;
-	*data_len = saved_data_len;
-
-	rc = gprs_shift_tlv(data, data_len, &tag, &value, &value_len);
-	OSMO_ASSERT(rc == (int)value_len + 2);
-	OSMO_ASSERT(tag == exp_tag);
-	OSMO_ASSERT(value_len == exp_len);
-	OSMO_ASSERT(memcmp(value, exp_val, exp_len) == 0);
-}
-
-static void check_tv_fixed_match(uint8_t **data, size_t *data_len,
-				 uint8_t tag, size_t len, const uint8_t *exp_val)
-{
-	uint8_t *value;
-	int rc;
-
-	rc = gprs_match_tv_fixed(data, data_len, tag ^ 1, len, NULL);
-	OSMO_ASSERT(rc == 0);
-
-	rc = gprs_match_tv_fixed(data, data_len, tag, len, &value);
-	OSMO_ASSERT(rc == (int)len + 1);
-	OSMO_ASSERT(memcmp(value, exp_val, len) == 0);
-}
-
-static void check_v_fixed_shift(uint8_t **data, size_t *data_len,
-				size_t len, const uint8_t *exp_val)
-{
-	uint8_t *value;
-	int rc;
-
-	rc = gprs_shift_v_fixed(data, data_len, len, &value);
-	OSMO_ASSERT(rc == (int)len);
-	OSMO_ASSERT(memcmp(value, exp_val, len) == 0);
-}
-
-static void check_lv_shift(uint8_t **data, size_t *data_len,
-			   size_t exp_len, const uint8_t *exp_val)
-{
-	uint8_t *value;
-	size_t value_len;
-	int rc;
-
-	rc = gprs_shift_lv(data, data_len, &value, &value_len);
-	OSMO_ASSERT(rc == (int)value_len + 1);
-	OSMO_ASSERT(value_len == exp_len);
-	OSMO_ASSERT(memcmp(value, exp_val, exp_len) == 0);
-}
-
-static void check_tlv_match_data_len(size_t data_len, uint8_t tag, size_t len,
-				     const uint8_t *test_data)
-{
-	uint8_t buf[300] = {0};
-
-	uint8_t *unchanged_ptr = buf - 1;
-	size_t unchanged_len = 0xdead;
-	size_t tmp_data_len = data_len;
-	uint8_t *value = unchanged_ptr;
-	size_t value_len = unchanged_len;
-	uint8_t *data = buf;
-
-	OSMO_ASSERT(data_len <= sizeof(buf));
-
-	tlv_put(data, tag, len, test_data);
-	if (data_len < len + 2) {
-		OSMO_ASSERT(-1 == gprs_match_tlv(&data, &tmp_data_len,
-					    tag, &value, &value_len));
-		OSMO_ASSERT(tmp_data_len == 0);
-		OSMO_ASSERT(data == buf + data_len);
-		OSMO_ASSERT(value == unchanged_ptr);
-		OSMO_ASSERT(value_len == unchanged_len);
-	} else {
-		OSMO_ASSERT(0 <= gprs_match_tlv(&data, &tmp_data_len,
-					   tag, &value, &value_len));
-		OSMO_ASSERT(value != unchanged_ptr);
-		OSMO_ASSERT(value_len != unchanged_len);
-	}
-}
-
-static void check_tv_fixed_match_data_len(size_t data_len,
-					  uint8_t tag, size_t len,
-					  const uint8_t *test_data)
-{
-	uint8_t buf[300] = {0};
-
-	uint8_t *unchanged_ptr = buf - 1;
-	size_t tmp_data_len = data_len;
-	uint8_t *value = unchanged_ptr;
-	uint8_t *data = buf;
-
-	OSMO_ASSERT(data_len <= sizeof(buf));
-
-	tv_fixed_put(data, tag, len, test_data);
-
-	if (data_len < len + 1) {
-		OSMO_ASSERT(-1 == gprs_match_tv_fixed(&data, &tmp_data_len,
-						 tag, len, &value));
-		OSMO_ASSERT(tmp_data_len == 0);
-		OSMO_ASSERT(data == buf + data_len);
-		OSMO_ASSERT(value == unchanged_ptr);
-	} else {
-		OSMO_ASSERT(0 <= gprs_match_tv_fixed(&data, &tmp_data_len,
-						tag, len, &value));
-		OSMO_ASSERT(value != unchanged_ptr);
-	}
-}
-
-static void check_v_fixed_shift_data_len(size_t data_len,
-					 size_t len, const uint8_t *test_data)
-{
-	uint8_t buf[300] = {0};
-
-	uint8_t *unchanged_ptr = buf - 1;
-	size_t tmp_data_len = data_len;
-	uint8_t *value = unchanged_ptr;
-	uint8_t *data = buf;
-
-	OSMO_ASSERT(data_len <= sizeof(buf));
-
-	memcpy(data, test_data, len);
-
-	if (data_len < len) {
-		OSMO_ASSERT(-1 == gprs_shift_v_fixed(&data, &tmp_data_len,
-						len, &value));
-		OSMO_ASSERT(tmp_data_len == 0);
-		OSMO_ASSERT(data == buf + data_len);
-		OSMO_ASSERT(value == unchanged_ptr);
-	} else {
-		OSMO_ASSERT(0 <= gprs_shift_v_fixed(&data, &tmp_data_len,
-					       len, &value));
-		OSMO_ASSERT(value != unchanged_ptr);
-	}
-}
-
-static void check_lv_shift_data_len(size_t data_len,
-				    size_t len, const uint8_t *test_data)
-{
-	uint8_t buf[300] = {0};
-
-	uint8_t *unchanged_ptr = buf - 1;
-	size_t unchanged_len = 0xdead;
-	size_t tmp_data_len = data_len;
-	uint8_t *value = unchanged_ptr;
-	size_t value_len = unchanged_len;
-	uint8_t *data = buf;
-
-	lv_put(data, len, test_data);
-	if (data_len < len + 1) {
-		OSMO_ASSERT(-1 == gprs_shift_lv(&data, &tmp_data_len,
-					   &value, &value_len));
-		OSMO_ASSERT(tmp_data_len == 0);
-		OSMO_ASSERT(data == buf + data_len);
-		OSMO_ASSERT(value == unchanged_ptr);
-		OSMO_ASSERT(value_len == unchanged_len);
-	} else {
-		OSMO_ASSERT(0 <= gprs_shift_lv(&data, &tmp_data_len,
-					  &value, &value_len));
-		OSMO_ASSERT(value != unchanged_ptr);
-		OSMO_ASSERT(value_len != unchanged_len);
-	}
-}
-
-static void test_tlv_shift_functions()
-{
-	uint8_t test_data[1024];
-	uint8_t buf[1024];
-	uint8_t *data_end;
-	unsigned i, len;
-	uint8_t *data;
-	size_t data_len;
-	const uint8_t tag = 0x1a;
-
-	printf("Test shift functions\n");
-
-	for (i = 0; i < ARRAY_SIZE(test_data); i++)
-		test_data[i] = (uint8_t)i;
-
-	for (len = 0; len < 256; len++) {
-		const unsigned iterations = sizeof(buf) / (len + 2) / 4;
-
-		memset(buf, 0xee, sizeof(buf));
-		data_end = data = buf;
-
-		for (i = 0; i < iterations; i++) {
-			data_end = tlv_put(data_end, tag, len, test_data);
-			data_end = tv_fixed_put(data_end, tag, len, test_data);
-			/* v_fixed_put */
-			memcpy(data_end, test_data, len);
-			data_end += len;
-			data_end = lv_put(data_end, len, test_data);
-		}
-
-		data_len = data_end - data;
-		OSMO_ASSERT(data_len <= sizeof(buf));
-
-		for (i = 0; i < iterations; i++) {
-			check_tlv_parse(&data, &data_len, tag, len, test_data);
-			check_tv_fixed_match(&data, &data_len, tag, len, test_data);
-			check_v_fixed_shift(&data, &data_len, len, test_data);
-			check_lv_shift(&data, &data_len, len, test_data);
-		}
-
-		OSMO_ASSERT(data == data_end);
-
-		/* Test at end of data */
-
-		OSMO_ASSERT(-1 == gprs_match_tlv(&data, &data_len, tag, NULL, NULL));
-		OSMO_ASSERT(-1 == gprs_match_tv_fixed(&data, &data_len, tag, len, NULL));
-		OSMO_ASSERT((len ? -1 : 0) == gprs_shift_v_fixed(&data, &data_len, len, NULL));
-		OSMO_ASSERT(-1 == gprs_shift_lv(&data, &data_len, NULL, NULL));
-
-		/* Test invalid data_len */
-		for (data_len = 0; data_len <= len + 2 + 1; data_len += 1) {
-			check_tlv_match_data_len(data_len, tag, len, test_data);
-			check_tv_fixed_match_data_len(data_len, tag, len, test_data);
-			check_v_fixed_shift_data_len(data_len, len, test_data);
-			check_lv_shift_data_len(data_len, len, test_data);
-		}
-	}
-}
-
-/* Tests for gprs_gsup_messages.c */
+/* Tests for osmo_gsup_messages.c */
 
 #define TEST_IMSI_IE 0x01, 0x08, 0x21, 0x43, 0x65, 0x87, 0x09, 0x21, 0x43, 0xf5
 #define TEST_IMSI_STR "123456789012345"
@@ -705,7 +465,6 @@
 
 	test_8_4_2();
 	test_gsm_03_03_apn();
-	test_tlv_shift_functions();
 	test_gsup_messages_dec_enc();
 	test_gprs_timer_enc_dec();
 
diff --git a/openbsc/tests/gprs/gprs_test.ok b/openbsc/tests/gprs/gprs_test.ok
index cf71076..688d44b 100644
--- a/openbsc/tests/gprs/gprs_test.ok
+++ b/openbsc/tests/gprs/gprs_test.ok
@@ -13,7 +13,6 @@
 N(U) = 510, V(UR) = 511 => retransmit
 N(U) = 481, V(UR) = 511 => retransmit
 N(U) = 479, V(UR) = 511 => new
-Test shift functions
 Test GSUP message decoding/encoding
   Testing Send Authentication Info Request
   Testing Send Authentication Info Error
