diff --git a/tests/queries/test_qs_combinators.py b/tests/queries/test_qs_combinators.py
index f1785dd783..b509d7d8fb 100644
--- a/tests/queries/test_qs_combinators.py
+++ b/tests/queries/test_qs_combinators.py
@@ -23,6 +23,15 @@ class QuerySetSetOperationTests(TestCase):
         qs3 = Number.objects.filter(num=5)
         self.assertNumbersEqual(qs1.union(qs2, qs3), [0, 1, 5, 8, 9], ordered=False)
 
+    def test_union_two_evaluations(self):
+        qs = (
+            Number.objects.filter(pk__in=[1, 2])
+            .union(Number.objects.filter(pk__in=[4, 5]))
+            .order_by('num')
+        )
+        self.assertEqual(list(qs.order_by().values_list('pk', flat=True)), [1, 2, 4, 5])
+        self.assertCountEqual(list(qs.values_list('pk', flat=True)), [1, 2, 4, 5])
+
     @skipUnlessDBFeature('supports_select_intersection')
     def test_simple_intersection(self):
         qs1 = Number.objects.filter(num__lte=5)
