diff --git a/src/util/virstoragefile.c b/src/util/virstoragefile.c
index 90e9b6796e..a08705603a 100644
--- a/src/util/virstoragefile.c
+++ b/src/util/virstoragefile.c
@@ -2964,7 +2964,7 @@ virStorageSourceParseNBDColonString(const char *nbdstr,
}
src->hosts->socket = g_strdup(backing[2]);
-
+ src->hosts->transport = VIR_STORAGE_NET_HOST_TRANS_UNIX;
} else {
src->hosts->name = g_strdup(backing[1]);
diff --git a/tests/virstoragetest.c b/tests/virstoragetest.c
index 2862758752..370e19252b 100644
--- a/tests/virstoragetest.c
+++ b/tests/virstoragetest.c
@@ -1258,6 +1258,10 @@ mymain(void)
"\n"
" \n"
"\n");
+ TEST_BACKING_PARSE("nbd:unix:/tmp/sock:exportname=/",
+ "\n"
+ " \n"
+ "\n");
TEST_BACKING_PARSE("nbd://example.org:1234",
"\n"
" \n"