diff --git a/strawberryfields/backends/states.py b/strawberryfields/backends/states.py
index 184532909..fce20fd74 100644
--- a/strawberryfields/backends/states.py
+++ b/strawberryfields/backends/states.py
@@ -1010,8 +1010,8 @@ def __init__(self, state_data, num_modes, mode_names=None):
         self._alpha /= np.sqrt(2 * self._hbar)
 
         self._pure = (
-            np.abs(np.linalg.det(self._cov) - (self._hbar / 2) ** (2 * self._modes))
-            < self.EQ_TOLERANCE
+            np.abs(np.linalg.det(self._cov)) / (self._hbar / 2) ** (2 * self._modes)
+            == 1.0
         )
 
         self._basis = "gaussian"