diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,9 +5,16 @@
 The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
 and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
 
+## [0.50.2] - 2023-01-06
+
+### Fixed
+
+- Arithmetic overflow in concrete `SAR` edge case ([#163](https://github.com/ethereum/hevm/pull/163))
+- Unexpected abstract term application during fully concrete execution ([#163](https://github.com/ethereum/hevm/pull/163))
+
 ## [0.50.1] - 2022-12-29
 
-## Fixed
+### Fixed
 
 - `hevm exec` no longer fails with `hevm: No match in record selector smttimeout`
 - the `gas`, `gaslimit`, `priorityfee`, and `gasprice` cli options are now respected
diff --git a/hevm.cabal b/hevm.cabal
--- a/hevm.cabal
+++ b/hevm.cabal
@@ -2,7 +2,7 @@
 name:
   hevm
 version:
-  0.50.1
+  0.50.2
 synopsis:
   Ethereum virtual machine evaluator
 description:
@@ -141,7 +141,6 @@
     cryptonite                        >= 0.30 && < 0.31,
     memory                            >= 0.16.0 && < 0.20,
     data-dword                        >= 0.3.1 && < 0.4,
-    fgl                               >= 5.7.0 && < 5.8,
     free                              >= 5.1.3 && < 5.2,
     haskeline                         >= 0.8.0 && < 0.9,
     process                           >= 1.6.5 && < 1.7,
@@ -155,8 +154,6 @@
     quickcheck-text                   >= 0.1.2 && < 0.2,
     restless-git                      >= 0.7 && < 0.8,
     rosezipper                        >= 0.2 && < 0.3,
-    s-cargot                          >= 0.1.4 && < 0.2,
-    semver-range                      >= 0.2.7 && < 0.3,
     temporary                         >= 1.3 && < 1.4,
     witherable                        >= 0.3.5 && < 0.5,
     wreq                              >= 0.5.3 && < 0.6,
@@ -167,7 +164,6 @@
     smt2-parser                       >= 0.1.0.1,
     word-wrap                         >= 0.5 && < 0.6,
     spool                             >= 0.1 && < 0.2,
-    parsec                            >= 3.1.15 && < 3.2,
   hs-source-dirs:
     src
 
diff --git a/src/EVM/Expr.hs b/src/EVM/Expr.hs
--- a/src/EVM/Expr.hs
+++ b/src/EVM/Expr.hs
@@ -181,8 +181,12 @@
 
 sar :: Expr EWord -> Expr EWord -> Expr EWord
 sar = op2 SAR (\x y ->
-  let asSigned = (fromIntegral y) :: Int256
-  in fromIntegral $ shiftR asSigned (fromIntegral x))
+  let msb = testBit y 255
+      asSigned = fromIntegral y :: Int256
+  in if x > 256 then
+       if msb then maxBound else 0
+     else
+       fromIntegral $ shiftR asSigned (fromIntegral x))
 
 -- ** Bufs ** --------------------------------------------------------------------------------------
 
@@ -319,7 +323,6 @@
 
 copySlice a@(Lit srcOffset) b@(Lit dstOffset) c@(Lit size) d@(ConcreteBuf src) e@(ConcreteBuf dst)
   | dstOffset < maxBytes
-  , srcOffset < maxBytes
   , size < maxBytes =
       let hd = padRight (num dstOffset) $ BS.take (num dstOffset) dst
           sl = if srcOffset > num (BS.length src)
diff --git a/test/BlockchainTests.hs b/test/BlockchainTests.hs
--- a/test/BlockchainTests.hs
+++ b/test/BlockchainTests.hs
@@ -112,13 +112,7 @@
 
 commonProblematicTests :: Map String (TestTree -> TestTree)
 commonProblematicTests = Map.fromList
-  [ ("twoOps_d0g0v0_London", expectFailBecause "TODO: regression")
-  , ("sar_2^256-1_0_d0g0v0_London", expectFailBecause "TODO: regression")
-  , ("shiftCombinations_d0g0v0_London", expectFailBecause "TODO: regression")
-  , ("shiftSignedCombinations_d0g0v0_London", expectFailBecause "TODO: regression")
-  , ("bufferSrcOffset_d14g0v0_London", expectFailBecause "TODO: regression")
-  , ("bufferSrcOffset_d38g0v0_London", expectFailBecause "TODO: regression")
-  , ("loopMul_d0g0v0_London", ignoreTestBecause "hevm is too slow")
+  [ ("loopMul_d0g0v0_London", ignoreTestBecause "hevm is too slow")
   , ("loopMul_d1g0v0_London", ignoreTestBecause "hevm is too slow")
   , ("loopMul_d2g0v0_London", ignoreTestBecause "hevm is too slow")
   , ("CALLBlake2f_MaxRounds_d0g0v0_London", ignoreTestBecause "very slow, bypasses timeout due time spent in FFI")
