diff --git a/qa/ganeti-qa.py b/qa/ganeti-qa.py
index f4c67856148fb3ddf3f116c27a6ddd851e86137d..9a207ce855500d892ea1fa6d885ada3867c99d73 100755
--- a/qa/ganeti-qa.py
+++ b/qa/ganeti-qa.py
@@ -468,6 +468,8 @@ def RunExclusiveStorageTests():
     qa_cluster.TestExclStorSingleNode(node)
 
     qa_cluster.TestSetExclStorCluster(True)
+    qa_cluster.TestExclStorSharedPv(node)
+
     if qa_config.TestEnabled("instance-add-plain-disk"):
       # Make sure that the cluster doesn't have any pre-existing problem
       qa_cluster.AssertClusterVerify()
diff --git a/qa/qa_cluster.py b/qa/qa_cluster.py
index 1960acd72f6e13fc83be19fcbeaf9e5e4d94b99f..aeb4d43bfce1bee503a3456dd0cafef33735fe5d 100644
--- a/qa/qa_cluster.py
+++ b/qa/qa_cluster.py
@@ -674,3 +674,21 @@ def TestExclStorSingleNode(node):
   AssertClusterVerify(fail=True, errors=[constants.CV_EGROUPMIXEDESFLAG])
   AssertCommand(_BuildSetESCmd("default", node_name))
   AssertClusterVerify()
+
+
+def TestExclStorSharedPv(node):
+  """cluster-verify reports LVs that share the same PV with exclusive_storage.
+
+  """
+  vgname = qa_config.get("vg-name", constants.DEFAULT_VG)
+  lvname1 = _QA_LV_PREFIX + "vol1"
+  lvname2 = _QA_LV_PREFIX + "vol2"
+  node_name = node["primary"]
+  AssertCommand(["lvcreate", "-L1G", "-n", lvname1, vgname], node=node_name)
+  AssertClusterVerify(fail=True, errors=[constants.CV_ENODEORPHANLV])
+  AssertCommand(["lvcreate", "-L1G", "-n", lvname2, vgname], node=node_name)
+  AssertClusterVerify(fail=True, errors=[constants.CV_ENODELVM,
+                                         constants.CV_ENODEORPHANLV])
+  AssertCommand(["lvremove", "-f", "/".join([vgname, lvname1])], node=node_name)
+  AssertCommand(["lvremove", "-f", "/".join([vgname, lvname2])], node=node_name)
+  AssertClusterVerify()