diff --git a/kwant/physics/symmetry.py b/kwant/physics/symmetry.py
index 52497f0b8979cf18efeb9247d6ffc08011936dd9..900c81cf401244f06c6d045ca44f1bb02f5865f7 100644
--- a/kwant/physics/symmetry.py
+++ b/kwant/physics/symmetry.py
@@ -166,9 +166,8 @@ class DiscreteSymmetry:
         for symm, conj, sign, name in zip(self[1:], _conj, _signs, _names):
             if symm is None:
                 continue
-            commutator = symm.T.conj().dot(cond_conj(symm.T.dot(matrix.T),
-                                                     conj).T)
-            commutator = commutator - sign * matrix
+            commutator = symm.T.conj().dot((symm.T.dot(matrix.T)).T)
+            commutator = commutator - sign * cond_conj(matrix, conj)
             if np.linalg.norm(commutator.data) > 1e-8:
                 return name