diff --git a/focus.cabal b/focus.cabal
--- a/focus.cabal
+++ b/focus.cabal
@@ -1,5 +1,5 @@
 name: focus
-version: 1.0.1.3
+version: 1.0.1.4
 synopsis: A general abstraction for manipulating elements of container data structures
 description:
   An API for construction of free-form strategies of access and manipulation of 
diff --git a/library/Focus.hs b/library/Focus.hs
--- a/library/Focus.hs
+++ b/library/Focus.hs
@@ -146,7 +146,7 @@
 -}
 {-# INLINE update #-}
 update :: Monad m => (a -> Maybe a) -> Focus a m ()
-update fn = unitCases Leave (maybe Leave Set . fn)
+update fn = unitCases Leave (maybe Remove Set . fn)
 
 -- ** Construction utils
 -------------------------
diff --git a/test/Main.hs b/test/Main.hs
--- a/test/Main.hs
+++ b/test/Main.hs
@@ -41,4 +41,12 @@
       in do
         assertEqual "" ((), Focus.Set "one") (runIdentity (present "zero"))
         assertEqual "" ((), Focus.Set "one") (runIdentity absent)
+    ,
+    testCase "update" $ let
+      f :: String -> Maybe String
+      f = const Nothing
+      Focus.Focus absent present = Focus.update f
+      in do
+        assertEqual "" ((), Focus.Remove) (runIdentity (present "zero"))
+        assertEqual "" ((), Focus.Leave) (runIdentity absent)
   ]
