diff --git a/mboxd.c b/mboxd.c
index 31dcefa..ecf0caf 100644
--- a/mboxd.c
+++ b/mboxd.c
@@ -358,7 +358,7 @@
 		goto finish;
 	}
 
-	rc = init_mbox_dev(context);
+	rc = transport_mbox_init(context);
 	if (rc) {
 		goto finish;
 	}
diff --git a/test/mbox.c b/test/mbox.c
index 0e22cbe..1b14430 100644
--- a/test/mbox.c
+++ b/test/mbox.c
@@ -207,7 +207,7 @@
 	tmpf_destroy(&test.lpc);
 }
 
-int __init_mbox_dev(struct mbox_context *context, const char *path);
+int __transport_mbox_init(struct mbox_context *context, const char *path);
 int __lpc_dev_init(struct mbox_context *context, const char *path);
 
 struct mbox_context *mbox_create_test_context(int n_windows, size_t len)
@@ -235,12 +235,12 @@
 	assert(rc == 0);
 
 	/*
-	 * We need to call __init_mbox_dev() to initialise the handler table.
+	 * We need to call __transport_mbox_init() to initialise the handler table.
 	 * However, afterwards we need to discard the fd of the clearly useless
 	 * /dev/null and replace it with our own fd for mbox device emulation
 	 * by the test framework.
 	 */
-	__init_mbox_dev(&test.context, "/dev/null");
+	__transport_mbox_init(&test.context, "/dev/null");
 	rc = close(test.context.fds[MBOX_FD].fd);
 	assert(rc == 0);
 	test.context.fds[MBOX_FD].fd = test.mbox.fd;
diff --git a/transport_mbox.c b/transport_mbox.c
index 352ea0b..dd412a4 100644
--- a/transport_mbox.c
+++ b/transport_mbox.c
@@ -610,7 +610,7 @@
 	.flush_events = transport_mbox_flush_events,
 };
 
-int __init_mbox_dev(struct mbox_context *context, const char *path)
+int __transport_mbox_init(struct mbox_context *context, const char *path)
 {
 	int fd;
 
@@ -630,9 +630,9 @@
 	return 0;
 }
 
-int init_mbox_dev(struct mbox_context *context)
+int transport_mbox_init(struct mbox_context *context)
 {
-	return __init_mbox_dev(context, MBOX_HOST_PATH);
+	return __transport_mbox_init(context, MBOX_HOST_PATH);
 }
 
 void free_mbox_dev(struct mbox_context *context)
diff --git a/transport_mbox.h b/transport_mbox.h
index cb55783..8dd5902 100644
--- a/transport_mbox.h
+++ b/transport_mbox.h
@@ -8,7 +8,7 @@
 #include "mbox.h"
 
 int transport_mbox_dispatch(struct mbox_context *context);
-int init_mbox_dev(struct mbox_context *context);
+int transport_mbox_init(struct mbox_context *context);
 void free_mbox_dev(struct mbox_context *context);
 
 #endif /* MBOXD_MSG_H */
