diff --git a/tests/auto/qtdesktop/data/tst_checkbox.qml b/tests/auto/qtdesktop/data/tst_checkbox.qml
index 203ba3aa5a2a92622e0a228f865444385daba94f..8b4abedee9882f33e1f03a203bfd009fe391a16f 100644
--- a/tests/auto/qtdesktop/data/tst_checkbox.qml
+++ b/tests/auto/qtdesktop/data/tst_checkbox.qml
@@ -161,5 +161,43 @@ Item {
                 compare(checkBox.checkedState, expectedStates[i]);
             }
         }
+
+        function test_exclusiveGroup() {
+            var root = Qt.createQmlObject("import QtQuick 2.0; import QtDesktop 1.0; \n"
+                + "Row { \n"
+                + "    property alias checkBox1: checkBox1 \n"
+                + "    property alias checkBox2: checkBox2 \n"
+                + "    property alias group: group \n"
+                + "    ExclusiveGroup { id: group } \n"
+                + "    CheckBox { id: checkBox1; checked: true; exclusiveGroup: group } \n"
+                + "    CheckBox { id: checkBox2; exclusiveGroup: group } \n"
+                + "}", container, "");
+
+            compare(root.checkBox1.exclusiveGroup, root.group);
+            compare(root.checkBox2.exclusiveGroup, root.group);
+            compare(root.checkBox1.checked, true);
+            compare(root.checkBox2.checked, false);
+
+            root.forceActiveFocus();
+
+            signalSpy.target = root.checkBox2;
+            signalSpy.signalName = "clicked";
+            compare(signalSpy.count, 0);
+
+            mouseClick(root.checkBox2, root.checkBox2.x, root.checkBox2.y, Qt.LeftButton);
+            compare(signalSpy.count, 1);
+            compare(root.checkBox1.checked, false);
+            compare(root.checkBox2.checked, true);
+
+            signalSpy.clear();
+            signalSpy.target = root.checkBox1;
+            signalSpy.signalName = "clicked";
+            compare(signalSpy.count, 0);
+
+            mouseClick(root.checkBox1, root.checkBox1.x, root.checkBox1.y, Qt.LeftButton);
+            compare(signalSpy.count, 1);
+            compare(root.checkBox1.checked, true);
+            compare(root.checkBox2.checked, false);
+        }
     }
 }
diff --git a/tests/auto/qtdesktop/data/tst_radiobutton.qml b/tests/auto/qtdesktop/data/tst_radiobutton.qml
index 74c81dd97db514756eda1f97646efc1f53fe7e36..ba4445db2cb41190f60947ed090e711d5538f66f 100644
--- a/tests/auto/qtdesktop/data/tst_radiobutton.qml
+++ b/tests/auto/qtdesktop/data/tst_radiobutton.qml
@@ -58,7 +58,7 @@ Item {
         }
 
         function init() {
-            radioButton = Qt.createQmlObject('import QtDesktop 1.0; RadioButton {}', container, '');
+            radioButton = Qt.createQmlObject("import QtDesktop 1.0; RadioButton {}", container, "");
         }
 
         function cleanup() {
@@ -131,5 +131,43 @@ Item {
                 compare(radioButton.checked, expectedStates[i]);
             }
         }
+
+        function test_exclusiveGroup() {
+            var root = Qt.createQmlObject("import QtQuick 2.0; import QtDesktop 1.0; \n"
+                + "Row { \n"
+                + "    property alias radioButton1: radioButton1 \n"
+                + "    property alias radioButton2: radioButton2 \n"
+                + "    property alias group: group \n"
+                + "    ExclusiveGroup { id: group } \n"
+                + "    RadioButton { id: radioButton1; checked: true; exclusiveGroup: group } \n"
+                + "    RadioButton { id: radioButton2; exclusiveGroup: group } \n"
+                + "}", container, "");
+
+            compare(root.radioButton1.exclusiveGroup, root.group);
+            compare(root.radioButton2.exclusiveGroup, root.group);
+            compare(root.radioButton1.checked, true);
+            compare(root.radioButton2.checked, false);
+
+            root.forceActiveFocus();
+
+            signalSpy.target = root.radioButton2;
+            signalSpy.signalName = "clicked";
+            compare(signalSpy.count, 0);
+
+            mouseClick(root.radioButton2, root.radioButton2.x, root.radioButton2.y, Qt.LeftButton);
+            compare(signalSpy.count, 1);
+            compare(root.radioButton1.checked, false);
+            compare(root.radioButton2.checked, true);
+
+            signalSpy.clear();
+            signalSpy.target = root.radioButton1;
+            signalSpy.signalName = "clicked";
+            compare(signalSpy.count, 0);
+
+            mouseClick(root.radioButton1, root.radioButton1.x, root.radioButton1.y, Qt.LeftButton);
+            compare(signalSpy.count, 1);
+            compare(root.radioButton1.checked, true);
+            compare(root.radioButton2.checked, false);
+        }
     }
 }