diff --git a/kwant/linalg/lll.py b/kwant/linalg/lll.py
index d01e7a0af5c977bf44010e0e5c074f366bbb9407..029dc8fa0c7f3d55cc56d5a1d6205733fba9b366 100644
--- a/kwant/linalg/lll.py
+++ b/kwant/linalg/lll.py
@@ -100,7 +100,8 @@ def lll(basis, c=1.34):
             if abs(u[i+1, i]) > 0.5:
                 ll_reduce(i+1)
             i = max(i-1, 0)
-    coefs = np.linalg.lstsq(vecs_orig.T, vecs.T)[0]
+    # TODO: change to rcond=None once we depend on numpy >= 1.14.
+    coefs = np.linalg.lstsq(vecs_orig.T, vecs.T, rcond=-1)[0]
     if not np.allclose(np.round(coefs), coefs, atol=1e-6):
         raise RuntimeError('LLL algorithm instability.')
     if not is_c_reduced(vecs, c):