diff --git a/src/xmlpatterns/expr/qnodesort.cpp b/src/xmlpatterns/expr/qnodesort.cpp
index 58e33d03a5c9c3c95f0ea86877bf3d433e521342..9dd1bed0f7b791424b4c4d62f536c93881935892 100644
--- a/src/xmlpatterns/expr/qnodesort.cpp
+++ b/src/xmlpatterns/expr/qnodesort.cpp
@@ -43,6 +43,8 @@
 #include "qdeduplicateiterator_p.h"
 #include "qnodesort_p.h"
 
+#include <algorithm>
+
 QT_BEGIN_NAMESPACE
 
 using namespace QPatternist;
@@ -83,7 +85,7 @@ Item::Iterator::Ptr NodeSortExpression::evaluateSequence(const DynamicContext::P
         return makeListIterator(nodes);
     else
     {
-        qSort(nodes.begin(), nodes.end(), lessThanUsingNodeModel);
+        std::sort(nodes.begin(), nodes.end(), lessThanUsingNodeModel);
 
         return Item::Iterator::Ptr(new DeduplicateIterator(nodes));
     }
diff --git a/src/xmlpatterns/expr/qorderby.cpp b/src/xmlpatterns/expr/qorderby.cpp
index a5c395d07391a55bbe79feefe083fc0ca5532698..46ac7a363c9df41ca38d0ac1e45774ca20c4aace 100644
--- a/src/xmlpatterns/expr/qorderby.cpp
+++ b/src/xmlpatterns/expr/qorderby.cpp
@@ -51,6 +51,8 @@
 
 #include "qorderby_p.h"
 
+#include <algorithm>
+
 QT_BEGIN_NAMESPACE
 
 using namespace QPatternist;
@@ -182,11 +184,11 @@ Item::Iterator::Ptr OrderBy::evaluateSequence(const DynamicContext::Ptr &context
     /* On one hand we could just disregard stability and always use qStableSort(), but maybe qSort()
      * is a bit faster? */
     if(m_stability == StableOrder)
-        qStableSort(tuples.begin(), tuples.end(), sorter);
+        std::stable_sort(tuples.begin(), tuples.end(), sorter);
     else
     {
         Q_ASSERT(m_stability == UnstableOrder);
-        qSort(tuples.begin(), tuples.end(), sorter);
+        std::sort(tuples.begin(), tuples.end(), sorter);
     }
 
     return makeSequenceMappingIterator<Item>(ConstPtr(this),
diff --git a/src/xmlpatterns/expr/qtemplatemode.cpp b/src/xmlpatterns/expr/qtemplatemode.cpp
index f2a5b2aaec2828c0f48a8d4e8f60634ea927468d..a90efbc7768c94bae6c6ee1ab7be8200430c2b3c 100644
--- a/src/xmlpatterns/expr/qtemplatemode.cpp
+++ b/src/xmlpatterns/expr/qtemplatemode.cpp
@@ -41,6 +41,8 @@
 
 #include "qtemplatemode_p.h"
 
+#include <algorithm>
+
 QT_BEGIN_NAMESPACE
 
 using namespace QPatternist;
@@ -53,7 +55,7 @@ bool TemplateMode::lessThanByPriority(const TemplatePattern::Ptr &t1,
 
 void TemplateMode::finalize()
 {
-    qSort(templatePatterns.begin(), templatePatterns.end(), lessThanByPriority);
+    std::sort(templatePatterns.begin(), templatePatterns.end(), lessThanByPriority);
 
     /* Now we have a list of patterns sorted by priority. */
 }