diff --git a/checkers.go b/checkers.go
index b1ab49b..c5e5d2f 100644
--- a/checkers.go
+++ b/checkers.go
@@ -201,14 +201,7 @@
 
 func (checker *equalsChecker) Check(obtained, expected interface{}) (
         result bool, error string) {
-    // This will use a fast path to check for equality of normal types,
-    // and then fallback to reflect.DeepEqual if things go wrong.
-    defer func() {
-        if recover() != nil {
-            result = reflect.DeepEqual(obtained, expected)
-        }
-    }()
-    return obtained == expected, ""
+    return reflect.DeepEqual(obtained, expected), ""
 }
 
 
diff --git a/checkers_test.go b/checkers_test.go
index 79d1671..db7d21c 100644
--- a/checkers_test.go
+++ b/checkers_test.go
@@ -83,6 +83,10 @@
 }
 
 
+type simpleStruct struct {
+    i int
+}
+
 func (s *CheckersS) TestEquals(c *gocheck.C) {
     testInfo(c, gocheck.Equals, "Equals", "obtained", "expected")
 
@@ -99,6 +103,14 @@
     // Arrays
     testCheck(c, gocheck.Equals, []byte{1,2}, []byte{1,2}, true, "")
     testCheck(c, gocheck.Equals, []byte{1,2}, []byte{1,3}, false, "")
+
+    // Struct values
+    testCheck(c, gocheck.Equals, simpleStruct{1}, simpleStruct{1}, true, "")
+    testCheck(c, gocheck.Equals, simpleStruct{1}, simpleStruct{2}, false, "")
+
+    // Struct pointers
+    testCheck(c, gocheck.Equals, &simpleStruct{1}, &simpleStruct{1}, true, "")
+    testCheck(c, gocheck.Equals, &simpleStruct{1}, &simpleStruct{2}, false, "")
 }
 
 func (s *CheckersS) TestMatches(c *gocheck.C) {
