diff --git a/fs/9p/v9fs.c b/fs/9p/v9fs.c
index 22f7ccd58d38725f7c23f5064c3ace5047aba97f..0f628041e3f7660c75fb846985b4124ba571cffe 100644
--- a/fs/9p/v9fs.c
+++ b/fs/9p/v9fs.c
@@ -460,8 +460,10 @@ static int __init init_v9fs(void)
 
 	ret = v9fs_mux_global_init();
 	if (!ret)
-		ret = register_filesystem(&v9fs_fs_type);
-
+		return ret;
+	ret = register_filesystem(&v9fs_fs_type);
+	if (!ret)
+		v9fs_mux_global_exit();
 	return ret;
 }