diff --git a/lib/gpt/algorithms/eigen/irl.py b/lib/gpt/algorithms/eigen/irl.py
index 4a98b1c5..7e3c4924 100644
--- a/lib/gpt/algorithms/eigen/irl.py
+++ b/lib/gpt/algorithms/eigen/irl.py
@@ -67,7 +67,7 @@ def __call__(self, mat, src, ckpt=None):
         Nstop = self.params["Nstop"]
         sort_eigenvalues = self.params["sort_eigenvalues"]
         if sort_eigenvalues is None:
-            sort_eigenvalues = lambda x: reversed(sorted(x))
+            sort_eigenvalues = lambda x: sorted(x)
         rotate_use_accelerator = self.params["rotate_use_accelerator"]
         assert Nm >= Nk and Nstop <= Nk
 
@@ -120,7 +120,7 @@ def __call__(self, mat, src, ckpt=None):
 
             # sort
             ev2_copy = ev2.copy()
-            ev2 = list(sort_eigenvalues(ev2))
+            ev2 = list(reversed(sort_eigenvalues(ev2)))
 
             # implicitly shifted QR transformations
             Qt = np.identity(Nm, dtype)
diff --git a/tests/algorithms/implicitly_restarted_lanczos.py b/tests/algorithms/implicitly_restarted_lanczos.py
index 7f67b24c..f442b6e6 100755
--- a/tests/algorithms/implicitly_restarted_lanczos.py
+++ b/tests/algorithms/implicitly_restarted_lanczos.py
@@ -42,7 +42,7 @@
         "maxiter": 20,
         "Nminres": 7,
         #    "maxapply" : 100
-        "sort_eigenvalues": lambda x: reversed(sorted(x))
+        "sort_eigenvalues": lambda x: sorted(x)
     }
 )