diff --git a/configure.ac b/configure.ac
index 90a95e6..80f50e8 100644
--- a/configure.ac
+++ b/configure.ac
@@ -233,7 +233,6 @@
     src/libmgcp/Makefile
     src/libcommon/Makefile
     src/libfilter/Makefile
-    src/libiu/Makefile
     src/libcommon-cs/Makefile
     src/osmo-msc/Makefile
     src/osmo-bsc/Makefile
diff --git a/tests/msc_vlr/Makefile.am b/tests/msc_vlr/Makefile.am
index 6d51d6e..3ae0c84 100644
--- a/tests/msc_vlr/Makefile.am
+++ b/tests/msc_vlr/Makefile.am
@@ -50,13 +50,6 @@
 	$(top_builddir)/src/libtrau/libtrau.a \
 	$(top_builddir)/src/libmgcp/libmgcp.a \
 	$(top_builddir)/src/libcommon/libcommon.a \
-	$(NULL)
-if BUILD_IU
-COMMON_LDADD += \
-	$(top_builddir)/src/libiu/libiu.a \
-	$(NULL)
-endif
-COMMON_LDADD += \
 	$(LIBSMPP34_LIBS) \
 	$(LIBOSMOCORE_LIBS) \
 	$(LIBOSMOGSM_LIBS) \
@@ -76,10 +69,10 @@
 	-Wl,--wrap=a_iface_tx_dtap \
 	-Wl,--wrap=a_iface_tx_clear_cmd \
 	-Wl,--wrap=a_iface_tx_paging \
-	-Wl,--wrap=iu_tx \
-	-Wl,--wrap=iu_tx_release \
-	-Wl,--wrap=iu_tx_common_id \
-	-Wl,--wrap=iu_page_cs \
+	-Wl,--wrap=ranap_iu_tx \
+	-Wl,--wrap=ranap_iu_tx_release \
+	-Wl,--wrap=ranap_iu_tx_common_id \
+	-Wl,--wrap=ranap_iu_page_cs \
 	-Wl,--wrap=msc_stop_paging \
 	-Wl,--wrap=gsm340_gen_scts \
 	-Wl,--wrap=RAND_bytes \
diff --git a/tests/msc_vlr/msc_vlr_tests.c b/tests/msc_vlr/msc_vlr_tests.c
index a45b10f..3966aac 100644
--- a/tests/msc_vlr/msc_vlr_tests.c
+++ b/tests/msc_vlr/msc_vlr_tests.c
@@ -34,8 +34,13 @@
 #include <openbsc/gsm_04_11.h>
 #include <openbsc/bsc_subscriber.h>
 #include <openbsc/debug.h>
-#include <openbsc/iu.h>
+
+#if BUILD_IU
 #include <openbsc/iucs_ranap.h>
+#include <osmocom/ranap/iu_client.h>
+#else
+#include <openbsc/iu_dummy.h>
+#endif
 
 #include "msc_vlr_tests.h"
 
@@ -152,8 +157,8 @@
 	conn->bts = the_bts;
 	conn->via_ran = rx_from_ran;
 	if (conn->via_ran == RAN_UTRAN_IU) {
-		struct ue_conn_ctx *ue_ctx = talloc_zero(conn, struct ue_conn_ctx);
-		*ue_ctx = (struct ue_conn_ctx){
+		struct ranap_ue_conn_ctx *ue_ctx = talloc_zero(conn, struct ranap_ue_conn_ctx);
+		*ue_ctx = (struct ranap_ue_conn_ctx){
 			.conn_id = 42,
 		};
 		conn->iu.ue_ctx = ue_ctx;
@@ -295,9 +300,9 @@
 	return 1;
 }
 
-/* override, requires '-Wl,--wrap=iu_page_cs' */
-int __real_iu_page_cs(const char *imsi, const uint32_t *tmsi, uint16_t lac);
-int __wrap_iu_page_cs(const char *imsi, const uint32_t *tmsi, uint16_t lac)
+/* override, requires '-Wl,--wrap=ranap_iu_page_cs' */
+int __real_ranap_iu_page_cs(const char *imsi, const uint32_t *tmsi, uint16_t lac);
+int __wrap_ranap_iu_page_cs(const char *imsi, const uint32_t *tmsi, uint16_t lac)
 {
 	return _paging_sent(RAN_UTRAN_IU, imsi, tmsi ? *tmsi : GSM_RESERVED_TMSI, lac);
 }
@@ -472,16 +477,16 @@
 	return 0;
 }
 
-/* override, requires '-Wl,--wrap=iu_tx' */
-int __real_iu_tx(struct msgb *msg, uint8_t sapi);
-int __wrap_iu_tx(struct msgb *msg, uint8_t sapi)
+/* override, requires '-Wl,--wrap=ranap_iu_tx' */
+int __real_ranap_iu_tx(struct msgb *msg, uint8_t sapi);
+int __wrap_ranap_iu_tx(struct msgb *msg, uint8_t sapi)
 {
 	return _validate_dtap(msg, RAN_UTRAN_IU);
 }
 
-/* override, requires '-Wl,--wrap=iu_tx_release' */
-int __real_iu_tx_release(struct ue_conn_ctx *ctx, const struct RANAP_Cause *cause);
-int __wrap_iu_tx_release(struct ue_conn_ctx *ctx, const struct RANAP_Cause *cause)
+/* override, requires '-Wl,--wrap=ranap_iu_tx_release' */
+int __real_ranap_iu_tx_release(struct ranap_ue_conn_ctx *ctx, const struct RANAP_Cause *cause);
+int __wrap_ranap_iu_tx_release(struct ranap_ue_conn_ctx *ctx, const struct RANAP_Cause *cause)
 {
 	btw("Iu Release --%s--> MS", ran_type_name(RAN_UTRAN_IU));
 	OSMO_ASSERT(iu_release_expected);
@@ -491,8 +496,8 @@
 }
 
 /* override, requires '-Wl,--wrap=iu_tx_common_id' */
-int __real_iu_tx_common_id(struct ue_conn_ctx *ue_ctx, const char *imsi);
-int __wrap_iu_tx_common_id(struct ue_conn_ctx *ue_ctx, const char *imsi)
+int __real_ranap_iu_tx_common_id(struct ranap_ue_conn_ctx *ue_ctx, const char *imsi);
+int __wrap_ranap_iu_tx_common_id(struct ranap_ue_conn_ctx *ue_ctx, const char *imsi)
 {
 	btw("Iu Common ID --%s--> MS (IMSI=%s)", ran_type_name(RAN_UTRAN_IU), imsi);
 	return 0;
diff --git a/tests/sgsn/Makefile.am b/tests/sgsn/Makefile.am
index f1606cb..ccb8f44 100644
--- a/tests/sgsn/Makefile.am
+++ b/tests/sgsn/Makefile.am
@@ -74,7 +74,6 @@
 
 if BUILD_IU
 sgsn_test_LDADD += \
-	$(top_builddir)/src/libiu/libiu.a \
 	$(LIBOSMORANAP_LIBS) \
 	$(LIBOSMOSIGTRAN_LIBS) \
 	$(LIBASN1C_LIBS) \
diff --git a/tests/sms_queue/Makefile.am b/tests/sms_queue/Makefile.am
index d17f996..62c479b 100644
--- a/tests/sms_queue/Makefile.am
+++ b/tests/sms_queue/Makefile.am
@@ -37,13 +37,6 @@
 	$(top_builddir)/src/libmgcp/libmgcp.a \
 	$(top_builddir)/src/libcommon/libcommon.a \
 	$(top_builddir)/src/libcommon-cs/libcommon-cs.a \
-	$(NULL)
-if BUILD_IU
-sms_queue_test_LDADD += \
-	$(top_builddir)/src/libiu/libiu.a \
-	$(NULL)
-endif
-sms_queue_test_LDADD += \
 	$(LIBSMPP34_LIBS) \
 	$(LIBOSMOCORE_LIBS) \
 	$(LIBOSMOGSM_LIBS) \
