diff --git a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp
index a5c6c84e70f2cd49698bc5a30efe164f0002d7f6..06c121877c970bb17bb4ede694848725450dec11 100644
--- a/tests/auto/xmlpatterns/tst_xmlpatterns.cpp
+++ b/tests/auto/xmlpatterns/tst_xmlpatterns.cpp
@@ -74,7 +74,9 @@ private Q_SLOTS:
     void xquerySupport_data() const;
     void xsltSupport();
     void xsltSupport_data() const;
+#ifndef QT_NO_PROCESS
     void stdoutFailure() const;
+#endif
     void cleanupTestCase() const;
 
 private:
@@ -106,6 +108,7 @@ void tst_XmlPatterns::initTestCase()
 {
     QVERIFY(m_normalizeTestName.isValid());
 
+#ifndef QT_NO_PROCESS
     QProcess process;
     process.start(m_command);
 
@@ -119,7 +122,9 @@ void tst_XmlPatterns::initTestCase()
             ).arg(m_command))
         );
     }
-
+#else
+    QSKIP("Skipping test due to not having process support");
+#endif // QT_NO_PROCESS
 }
 
 void tst_XmlPatterns::xquerySupport()
@@ -135,6 +140,7 @@ void tst_XmlPatterns::xquerySupport()
     QSKIP("WinCE: This test uses unsupported WinCE functionality");
 #endif
 
+#ifndef QT_NO_PROCESS
     QFETCH(int,         expectedExitCode);
     QFETCH(QByteArray,  expectedQueryOutput);
     QFETCH(QStringList, arguments);
@@ -219,6 +225,10 @@ void tst_XmlPatterns::xquerySupport()
 
         removeNonWritable(outFile);
     }
+
+#else
+    QSKIP("Skipping test due to not having process support");
+#endif // QT_NO_PROCESS
 }
 
 void tst_XmlPatterns::xquerySupport_data() const
@@ -801,6 +811,7 @@ void tst_XmlPatterns::removeNonWritable(QFile &outFile)
  Check that we gracefully handle writing out to stdout
  when the latter is not writable.
  */
+#ifndef QT_NO_PROCESS
 void tst_XmlPatterns::stdoutFailure() const
 {
     return; // TODO It's really hard to write testing code for this.
@@ -826,6 +837,7 @@ void tst_XmlPatterns::stdoutFailure() const
 
     removeNonWritable(outFile);
 }
+#endif
 
 void tst_XmlPatterns::cleanupTestCase() const
 {
diff --git a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp
index 19a20ba211d7f85f7a4486d7fa9ba094d0e62150..ea2a8c71371544f25420cbb670793b5fbecbd591 100644
--- a/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp
+++ b/tests/auto/xmlpatternsvalidator/tst_xmlpatternsvalidator.cpp
@@ -77,6 +77,7 @@ tst_XmlPatternsValidator::tst_XmlPatternsValidator()
 
 void tst_XmlPatternsValidator::initTestCase()
 {
+#ifndef QT_NO_PROCESS
     QProcess process;
     process.start(m_command);
 
@@ -90,6 +91,9 @@ void tst_XmlPatternsValidator::initTestCase()
             ).arg(m_command))
         );
     }
+#else
+    QSKIP("Skipping test due to not having process support");
+#endif // QT_NO_PROCESS
 }
 
 void tst_XmlPatternsValidator::xsdSupport()
@@ -101,6 +105,7 @@ void tst_XmlPatternsValidator::xsdSupport()
     QSKIP("WinCE: This test uses unsupported WinCE functionality");
 #endif
 
+#ifndef QT_NO_PROCESS
     QFETCH(int,         expectedExitCode);
     QFETCH(QStringList, arguments);
     QFETCH(QString,     cwd);
@@ -119,6 +124,9 @@ void tst_XmlPatternsValidator::xsdSupport()
         QTextStream(stderr) << "foo:" << process.readAllStandardError();
 
     QCOMPARE(process.exitCode(), expectedExitCode);
+#else
+    QSKIP("Skipping test due to not having process support");
+#endif // QT_NO_PROCESS
 }
 
 void tst_XmlPatternsValidator::xsdSupport_data() const