diff --git a/xml/options-3.0.rng b/xml/options-3.0.rng
index 332f4096c2..565180d91e 100644
--- a/xml/options-3.0.rng
+++ b/xml/options-3.0.rng
@@ -1,103 +1,109 @@
cluster-infrastructure
heartbeat
openais
classic openais
classic openais (with plugin)
cman
cluster-infrastructure
cluster_recheck_interval
dc_deadtime
+ default-action-timeout
+ default_action_timeout
default-migration-threshold
default_migration_threshold
+ default-resource-stickiness
+ default_resource_stickiness
election_timeout
expected-quorum-votes
+ is-managed-default
+ is_managed_default
no_quorum_policy
notification-agent
notification-recipient
remove_after_stop
shutdown_escalation
startup_fencing
stonith_action
stonith_enabled
stop_orphan_actions
stop_orphan_resources
symmetric_cluster
transition_idle_timeout
diff --git a/xml/test-2/032-clu-props-move.ref b/xml/test-2/032-clu-props-move.ref
new file mode 100644
index 0000000000..3477ab7050
--- /dev/null
+++ b/xml/test-2/032-clu-props-move.ref
@@ -0,0 +1,18 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/test-2/032-clu-props-move.ref.err b/xml/test-2/032-clu-props-move.ref.err
new file mode 100644
index 0000000000..417b355df6
--- /dev/null
+++ b/xml/test-2/032-clu-props-move.ref.err
@@ -0,0 +1,3 @@
+Cluster properties: cluster-opts-default-action-timeout: moving default-action-timeout under op_defaults as timeout unless already defined there
+Cluster properties: cluster-opts-default-resource-stickiness: moving default-resource-stickiness under rsc_defaults as resource-stickiness unless already defined there
+Cluster properties: cluster-opts-is-managed-default: moving is-managed-default under rsc_defaults as is-managed unless already defined there
diff --git a/xml/test-2/032-clu-props-move.xml b/xml/test-2/032-clu-props-move.xml
new file mode 100644
index 0000000000..aff84ebafb
--- /dev/null
+++ b/xml/test-2/032-clu-props-move.xml
@@ -0,0 +1,15 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/test-2/033-clu-props-move-merge.ref b/xml/test-2/033-clu-props-move-merge.ref
new file mode 100644
index 0000000000..f8e5a9f814
--- /dev/null
+++ b/xml/test-2/033-clu-props-move-merge.ref
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/test-2/033-clu-props-move-merge.ref.err b/xml/test-2/033-clu-props-move-merge.ref.err
new file mode 100644
index 0000000000..417b355df6
--- /dev/null
+++ b/xml/test-2/033-clu-props-move-merge.ref.err
@@ -0,0 +1,3 @@
+Cluster properties: cluster-opts-default-action-timeout: moving default-action-timeout under op_defaults as timeout unless already defined there
+Cluster properties: cluster-opts-default-resource-stickiness: moving default-resource-stickiness under rsc_defaults as resource-stickiness unless already defined there
+Cluster properties: cluster-opts-is-managed-default: moving is-managed-default under rsc_defaults as is-managed unless already defined there
diff --git a/xml/test-2/033-clu-props-move-merge.xml b/xml/test-2/033-clu-props-move-merge.xml
new file mode 100644
index 0000000000..a5d681906e
--- /dev/null
+++ b/xml/test-2/033-clu-props-move-merge.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/xml/upgrade-2.10.xsl b/xml/upgrade-2.10.xsl
index 4333551a94..f76017bc88 100644
--- a/xml/upgrade-2.10.xsl
+++ b/xml/upgrade-2.10.xsl
@@ -1,1067 +1,1347 @@
-
+
+
+
+
+
+
+
+
+
+
+ (
+ (
+ normalize-space($InverseMode)
+ and
+ $Replacement/@where = $InverseMode
+ )
+ or
+ (
+ not(normalize-space($InverseMode))
+ and
+ (true() or count($InverseMode))
+ and
+ not(
+ $InverseMode/nvpair[
+ @name = $Replacement/@with
+ ]
+ )
+ and
+ $Replacement/@where = name($InverseMode/..)
+ )
+ )">
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+