diff --git a/mono-traversable.cabal b/mono-traversable.cabal
--- a/mono-traversable.cabal
+++ b/mono-traversable.cabal
@@ -1,5 +1,5 @@
 name:                mono-traversable
-version:             0.6.0.2
+version:             0.6.0.3
 synopsis:            Type classes for mapping, folding, and traversing monomorphic containers
 description:         Monomorphic variants of the Functor, Foldable, and Traversable typeclasses. Contains even more experimental code for abstracting containers and sequences.
 homepage:            https://github.com/snoyberg/mono-traversable
diff --git a/src/Data/Sequences.hs b/src/Data/Sequences.hs
--- a/src/Data/Sequences.hs
+++ b/src/Data/Sequences.hs
@@ -307,7 +307,7 @@
 
     intersperse  = NE.intersperse
     reverse      = NE.reverse
-    find         = find
+    find x       = find x . NE.toList
     cons         = NE.cons
     snoc xs x    = NE.fromList $ flip snoc x $ NE.toList xs
     sortBy f     = NE.fromList . sortBy f . NE.toList
diff --git a/test/Spec.hs b/test/Spec.hs
--- a/test/Spec.hs
+++ b/test/Spec.hs
@@ -310,3 +310,6 @@
         test "lazy Text" TL.empty
     it "headEx on a list works #26" $
         headEx (1 : filter Prelude.odd [2,4..]) `shouldBe` (1 :: Int)
+
+    it "find doesn't infinitely loop on NonEmpty #31" $
+        find (== "a") ("a" NE.:| ["d","fgf"]) `shouldBe` Just "a"
