diff --git a/src/storage/storage_util.c b/src/storage/storage_util.c
index b7c594da2f6f0d96a792dd8cc6992c3d11a633c9..1e44a2da4464b52cb379b11e4e0ef7fe40bc4c6d 100644
--- a/src/storage/storage_util.c
+++ b/src/storage/storage_util.c
@@ -2862,7 +2862,7 @@ virStorageUtilGlusterExtractPoolSources(const char *host,
if (!(src = virStoragePoolSourceListNewSource(list)))
goto cleanup;
- if (!(src->dir = virXPathString("string(//name)", ctxt))) {
+ if (!(src->dir = virXPathString("string(./name)", ctxt))) {
virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
_("failed to extract gluster volume name"));
goto cleanup;
diff --git a/tests/virstorageutildata/gluster-parse-multivol-native.xml b/tests/virstorageutildata/gluster-parse-multivol-native.xml
new file mode 100644
index 0000000000000000000000000000000000000000..d2d8fefc6423e5d3365c855e738425d2d30aa1bc
--- /dev/null
+++ b/tests/virstorageutildata/gluster-parse-multivol-native.xml
@@ -0,0 +1,14 @@
+
+
+
+
+
diff --git a/tests/virstorageutildata/gluster-parse-multivol-netfs.xml b/tests/virstorageutildata/gluster-parse-multivol-netfs.xml
new file mode 100644
index 0000000000000000000000000000000000000000..3a542999da053c75ff5ef1feeb740ff447e80174
--- /dev/null
+++ b/tests/virstorageutildata/gluster-parse-multivol-netfs.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
diff --git a/tests/virstorageutildata/gluster-parse-multivol-src.xml b/tests/virstorageutildata/gluster-parse-multivol-src.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0c1f9d10e79f9d512bec99c3779a4892b471f42d
--- /dev/null
+++ b/tests/virstorageutildata/gluster-parse-multivol-src.xml
@@ -0,0 +1,32 @@
+
+
+
+ 0
+ 0
+
+
+
+
+ aaa
+ d0b219d4-4169-4907-8994-d2e2434854ed
+ 0
+ Created
+ 0
+
+
+ test
+ 32826068-2320-4b62-a825-2554edb7f020
+ 1
+ Started
+ 0
+
+
+ test1
+ dfa070f4-b12f-4166-8d68-041b73127abc
+ 0
+ Created
+
+ 3
+
+
+
diff --git a/tests/virstorageutiltest.c b/tests/virstorageutiltest.c
index e846ad547431f36eb89a242ef95806b17a1ffb0d..f82d5174f6fdeb704d138bb9b1ddf6924e70b6d1 100644
--- a/tests/virstorageutiltest.c
+++ b/tests/virstorageutiltest.c
@@ -101,6 +101,8 @@ mymain(void)
DO_TEST_GLUSTER_EXTRACT_POOL_SOURCES_NATIVE("basic");
DO_TEST_GLUSTER_EXTRACT_POOL_SOURCES_NETFS("basic");
+ DO_TEST_GLUSTER_EXTRACT_POOL_SOURCES_NATIVE("multivol");
+ DO_TEST_GLUSTER_EXTRACT_POOL_SOURCES_NETFS("multivol");
#undef DO_TEST_GLUSTER_EXTRACT_POOL_SOURCES_NATIVE
#undef DO_TEST_GLUSTER_EXTRACT_POOL_SOURCES_NETFS