diff --git a/kwant/builder.py b/kwant/builder.py
index 4092a00689fdacc86b3f0641b4b79daff4d9843a..c789c732c3d5471afe8d0c87d3fa453b5ebc2547 100644
--- a/kwant/builder.py
+++ b/kwant/builder.py
@@ -134,7 +134,7 @@ class SiteFamily(metaclass=abc.ABCMeta):
         try:
             return self.canonical_repr != other.canonical_repr
         except AttributeError:
-            return False
+            return True
 
     @abc.abstractmethod
     def normalize_tag(self, tag):
diff --git a/kwant/tests/test_builder.py b/kwant/tests/test_builder.py
index b705e9a8d8446b3309e89d7e4d3cba3f86ba5bab..0bce96fe97d4c4cf8269b0a9449b700adc54b042 100644
--- a/kwant/tests/test_builder.py
+++ b/kwant/tests/test_builder.py
@@ -8,7 +8,7 @@
 
 import warnings
 from random import Random
-from nose.tools import assert_raises, assert_true
+from nose.tools import assert_raises, assert_true, assert_not_equal
 from numpy.testing import assert_equal, assert_almost_equal
 import tinyarray as ta
 import kwant
@@ -102,6 +102,12 @@ def test_site_families():
     assert_equal(syst[ofam(1)], 123)
     assert_raises(KeyError, syst.__getitem__, yafam(1))
 
+    # test site families compare equal/not-equal
+    assert_equal(fam, ofam)
+    assert_not_equal(fam, yafam)
+    assert_not_equal(fam, None)
+    assert_not_equal(fam, 'a')
+
 
 class VerySimpleSymmetry(builder.Symmetry):
     def __init__(self, period):