diff --git a/cts/schemas/test-3/ref.err/nvpair-no-value.ref.err-0 b/cts/schemas/test-3/ref.err/nvpair-no-value.ref.err-0
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/cts/schemas/test-3/ref.err/nvpair-no-value.ref.err-1 b/cts/schemas/test-3/ref.err/nvpair-no-value.ref.err-1
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/cts/schemas/test-3/ref.err/nvpair-no-value.ref.err-99 b/cts/schemas/test-3/ref.err/nvpair-no-value.ref.err-99
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/cts/schemas/test-3/ref/nvpair-no-value.ref-0 b/cts/schemas/test-3/ref/nvpair-no-value.ref-0
new file mode 100644
index 0000000000..b5076aaac5
--- /dev/null
+++ b/cts/schemas/test-3/ref/nvpair-no-value.ref-0
@@ -0,0 +1,37 @@
+<cib crm_feature_set="3.19.7" validate-with="pacemaker-3.10" epoch="8" num_updates="0" admin_epoch="0" original="1">
+  <configuration original="1">
+    <!-- The essential elements of this test are:
+         * There is one nvset element of each type: cluster_property_set,
+           instance_attributes, meta_attributes, utilization.
+         * Each nvset contains one nvpair with a value and one nvpair with no
+           value.
+
+         In this situation, all nvpair elements with no value should be dropped.
+      -->
+    <crm_config original="1">
+      <cluster_property_set id="cib-bootstrap-options" original="1">
+        <nvpair id="cib-bootstrap-options-option1" name="option1" original="1"/>
+        <nvpair id="cib-bootstrap-options-option2" name="option2" value="value2" original="1"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes original="1"/>
+    <resources original="1">
+      <primitive class="ocf" id="rsc1" provider="pacemaker" type="Dummy" original="1">
+        <instance_attributes id="rsc1-instance_attributes" original="1">
+          <nvpair id="rsc1-instance_attributes-option2" name="option2" value="value2" original="1"/>
+          <nvpair id="rsc1-instance_attributes-option1" name="option1" original="1"/>
+        </instance_attributes>
+        <meta_attributes id="rsc1-meta_attributes" original="1">
+          <nvpair id="rsc1-meta_attributes-option1" name="option1" original="1"/>
+          <nvpair id="rsc1-meta_attributes-option2" name="option2" value="value2" original="1"/>
+        </meta_attributes>
+        <utilization id="rsc1-utilization" original="1">
+          <nvpair id="rsc1-utilization-option1" name="option1" original="1"/>
+          <nvpair id="rsc1-utilization-option2" name="option2" value="value2" original="1"/>
+        </utilization>
+      </primitive>
+    </resources>
+    <constraints original="1"/>
+  </configuration>
+  <status original="1"/>
+</cib>
diff --git a/cts/schemas/test-3/ref/nvpair-no-value.ref-1 b/cts/schemas/test-3/ref/nvpair-no-value.ref-1
new file mode 100644
index 0000000000..9ccbe2391b
--- /dev/null
+++ b/cts/schemas/test-3/ref/nvpair-no-value.ref-1
@@ -0,0 +1,37 @@
+<cib crm_feature_set="3.19.7" validate-with="pacemaker-4.0" epoch="8" num_updates="0" admin_epoch="0" original="1">
+  <configuration original="1">
+    <!-- The essential elements of this test are:
+         * There is one nvset element of each type: cluster_property_set,
+           instance_attributes, meta_attributes, utilization.
+         * Each nvset contains one nvpair with a value and one nvpair with no
+           value.
+
+         In this situation, all nvpair elements with no value should be dropped.
+      -->
+    <crm_config original="1">
+      <cluster_property_set id="cib-bootstrap-options" original="1">
+        <nvpair id="cib-bootstrap-options-option1" name="option1" original="1"/>
+        <nvpair id="cib-bootstrap-options-option2" name="option2" value="value2" original="1"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes original="1"/>
+    <resources original="1">
+      <primitive class="ocf" id="rsc1" provider="pacemaker" type="Dummy" original="1">
+        <instance_attributes id="rsc1-instance_attributes" original="1">
+          <nvpair id="rsc1-instance_attributes-option2" name="option2" value="value2" original="1"/>
+          <nvpair id="rsc1-instance_attributes-option1" name="option1" original="1"/>
+        </instance_attributes>
+        <meta_attributes id="rsc1-meta_attributes" original="1">
+          <nvpair id="rsc1-meta_attributes-option1" name="option1" original="1"/>
+          <nvpair id="rsc1-meta_attributes-option2" name="option2" value="value2" original="1"/>
+        </meta_attributes>
+        <utilization id="rsc1-utilization" original="1">
+          <nvpair id="rsc1-utilization-option1" name="option1" original="1"/>
+          <nvpair id="rsc1-utilization-option2" name="option2" value="value2" original="1"/>
+        </utilization>
+      </primitive>
+    </resources>
+    <constraints original="1"/>
+  </configuration>
+  <status original="1"/>
+</cib>
diff --git a/cts/schemas/test-3/ref/nvpair-no-value.ref-99 b/cts/schemas/test-3/ref/nvpair-no-value.ref-99
new file mode 100644
index 0000000000..6c13dae3ab
--- /dev/null
+++ b/cts/schemas/test-3/ref/nvpair-no-value.ref-99
@@ -0,0 +1,37 @@
+<cib crm_feature_set="3.19.7" validate-with="pacemaker-4.0" epoch="8" num_updates="0" admin_epoch="0">
+  <configuration>
+    <!-- The essential elements of this test are:
+         * There is one nvset element of each type: cluster_property_set,
+           instance_attributes, meta_attributes, utilization.
+         * Each nvset contains one nvpair with a value and one nvpair with no
+           value.
+
+         In this situation, all nvpair elements with no value should be dropped.
+      -->
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-option1" name="option1"/>
+        <nvpair id="cib-bootstrap-options-option2" name="option2" value="value2"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes/>
+    <resources>
+      <primitive class="ocf" id="rsc1" provider="pacemaker" type="Dummy">
+        <instance_attributes id="rsc1-instance_attributes">
+          <nvpair id="rsc1-instance_attributes-option2" name="option2" value="value2"/>
+          <nvpair id="rsc1-instance_attributes-option1" name="option1"/>
+        </instance_attributes>
+        <meta_attributes id="rsc1-meta_attributes">
+          <nvpair id="rsc1-meta_attributes-option1" name="option1"/>
+          <nvpair id="rsc1-meta_attributes-option2" name="option2" value="value2"/>
+        </meta_attributes>
+        <utilization id="rsc1-utilization">
+          <nvpair id="rsc1-utilization-option1" name="option1"/>
+          <nvpair id="rsc1-utilization-option2" name="option2" value="value2"/>
+        </utilization>
+      </primitive>
+    </resources>
+    <constraints/>
+  </configuration>
+  <status/>
+</cib>
diff --git a/cts/schemas/test-3/xml/nvpair-no-value.xml b/cts/schemas/test-3/xml/nvpair-no-value.xml
new file mode 100644
index 0000000000..54b8793df0
--- /dev/null
+++ b/cts/schemas/test-3/xml/nvpair-no-value.xml
@@ -0,0 +1,37 @@
+<cib crm_feature_set="3.19.7" validate-with="pacemaker-3.10" epoch="8" num_updates="0" admin_epoch="0">
+  <configuration>
+    <!-- The essential elements of this test are:
+         * There is one nvset element of each type: cluster_property_set,
+           instance_attributes, meta_attributes, utilization.
+         * Each nvset contains one nvpair with a value and one nvpair with no
+           value.
+
+         In this situation, all nvpair elements with no value should be dropped.
+      -->
+    <crm_config>
+      <cluster_property_set id="cib-bootstrap-options">
+        <nvpair id="cib-bootstrap-options-option1" name="option1"/>
+        <nvpair id="cib-bootstrap-options-option2" name="option2" value="value2"/>
+      </cluster_property_set>
+    </crm_config>
+    <nodes/>
+    <resources>
+      <primitive class="ocf" id="rsc1" provider="pacemaker" type="Dummy">
+        <instance_attributes id="rsc1-instance_attributes">
+          <nvpair id="rsc1-instance_attributes-option2" name="option2" value="value2"/>
+          <nvpair id="rsc1-instance_attributes-option1" name="option1"/>
+        </instance_attributes>
+        <meta_attributes id="rsc1-meta_attributes">
+          <nvpair id="rsc1-meta_attributes-option1" name="option1"/>
+          <nvpair id="rsc1-meta_attributes-option2" name="option2" value="value2"/>
+        </meta_attributes>
+        <utilization id="rsc1-utilization">
+          <nvpair id="rsc1-utilization-option1" name="option1"/>
+          <nvpair id="rsc1-utilization-option2" name="option2" value="value2"/>
+        </utilization>
+      </primitive>
+    </resources>
+    <constraints/>
+  </configuration>
+  <status/>
+</cib>