diff --git a/kwant/linalg/decomp_lu.py b/kwant/linalg/decomp_lu.py
index 5f5f2ddca985c3d0284d8ab1b02ad749213d99e6..0db3bc4f502180874f99f30c0f25c7dcd9a9c11c 100644
--- a/kwant/linalg/decomp_lu.py
+++ b/kwant/linalg/decomp_lu.py
@@ -129,6 +129,7 @@ def rcond_from_lu(xxx_todo_changeme1, norm_a, norm="1"):
     (lu, ipiv, singular) = xxx_todo_changeme1
     if not norm in ("1", "I"):
         raise ValueError("norm in rcond_from_lu must be either '1' or 'I'")
+    norm = norm.encode('utf8')  # lapack expects bytes
 
     ltype, lu = lapack.prepare_for_lapack(False, lu)
 
diff --git a/kwant/linalg/lapack.pyx b/kwant/linalg/lapack.pyx
index 5ad31afc254a3b087307b6d1d77b724303487019..da74fbc51b1fc457a21247129c12d07abcc31012 100644
--- a/kwant/linalg/lapack.pyx
+++ b/kwant/linalg/lapack.pyx
@@ -245,7 +245,7 @@ def zgetrs(np.ndarray[np.complex128_t, ndim=2] LU,
 # Wrappers for xGECON
 
 def sgecon(np.ndarray[np.float32_t, ndim=2] LU,
-            float normA, char *norm = "1"):
+            float normA, char *norm = b"1"):
     cdef l_int N, info
     cdef float rcond
     cdef np.ndarray[np.float32_t, ndim=1] work
@@ -266,7 +266,7 @@ def sgecon(np.ndarray[np.float32_t, ndim=2] LU,
     return rcond
 
 def dgecon(np.ndarray[np.float64_t, ndim=2] LU,
-            double normA, char *norm = "1"):
+            double normA, char *norm = b"1"):
     cdef l_int N, info
     cdef double rcond
     cdef np.ndarray[np.float64_t, ndim=1] work
@@ -287,7 +287,7 @@ def dgecon(np.ndarray[np.float64_t, ndim=2] LU,
     return rcond
 
 def cgecon(np.ndarray[np.complex64_t, ndim=2] LU,
-            float normA, char *norm = "1"):
+            float normA, char *norm = b"1"):
     cdef l_int N, info
     cdef float rcond
     cdef np.ndarray[np.complex64_t, ndim=1] work
@@ -308,7 +308,7 @@ def cgecon(np.ndarray[np.complex64_t, ndim=2] LU,
     return rcond
 
 def zgecon(np.ndarray[np.complex128_t, ndim=2] LU,
-           double normA, char *norm = "1"):
+           double normA, char *norm = b"1"):
     cdef l_int N, info
     cdef double rcond
     cdef np.ndarray[np.complex128_t, ndim=1] work