diff --git a/fsl/tests/test_notifier.py b/fsl/tests/test_notifier.py
index c85df509f9940bbbe4a0b64f0d6a4614bf10802e..d3ead8c66cf808b70139782ed6c4872023a83f84 100644
--- a/fsl/tests/test_notifier.py
+++ b/fsl/tests/test_notifier.py
@@ -204,3 +204,31 @@ def test_skip():
     t.notify(topic='topic')
     assert default_called[0] == 14
     assert topic_called[  0] == 6
+
+
+# Make sure there is no error
+# if a callback function is GC'd
+# fsl/fslpy!470
+def test_gc():
+
+    class Thing(notifier.Notifier):
+        pass
+
+    t = Thing()
+
+    called = []
+
+    def callback(thing, topic, value):
+        called.append((thing, topic, value))
+
+    t.register('callback', callback)
+
+    t.notify()
+    assert called == [(t, None, None)]
+
+    called[:] = []
+    callback  = None
+    del callback
+
+    t.notify()
+    assert called == []