diff --git a/CHANGES b/CHANGES
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,6 @@
+1.2.1 - 091204
+* modified the &&@ and ||@ operators to short-circuit
+
 1.2.0 - 091202
 * added the delayed version to the experimental branch
 * renamed storeJust to (-->) in the experimental branch
diff --git a/FRP/Elerea/Experimental.hs b/FRP/Elerea/Experimental.hs
--- a/FRP/Elerea/Experimental.hs
+++ b/FRP/Elerea/Experimental.hs
@@ -104,9 +104,10 @@
 {-| Point-wise OR of two boolean signals. -}
 
 (||@) :: Signal p Bool -> Signal p Bool -> Signal p Bool
-(||@) = liftA2 (||)
+s1 ||@ s2 = s1 >>= \b -> if b then return True else s2
 
 {-| Point-wise AND of two boolean signals. -}
 
 (&&@) :: Signal p Bool -> Signal p Bool -> Signal p Bool
-(&&@) = liftA2 (&&)
+s1 &&@ s2 = s1 >>= \b -> if b then s2 else return False
+
diff --git a/elerea.cabal b/elerea.cabal
--- a/elerea.cabal
+++ b/elerea.cabal
@@ -1,5 +1,5 @@
 Name:                elerea
-Version:             1.2.0
+Version:             1.2.1
 Cabal-Version:       >= 1.2
 Synopsis:            A minimalistic FRP library
 Category:            reactivity, FRP
