diff --git a/django/db/models/query.py b/django/db/models/query.py
index 6a16ce1..f4baa2b 100644
--- a/django/db/models/query.py
+++ b/django/db/models/query.py
@@ -320,6 +320,8 @@ class QuerySet(object):
         keyword arguments.
         """
         clone = self.filter(*args, **kwargs)
+        if self.query.can_filter():
+            clone = clone.order_by()
         num = len(clone)
         if num == 1:
             return clone._result_cache[0]
