diff --git a/src/TooManyCells/Matrix/Preprocess.hs b/src/TooManyCells/Matrix/Preprocess.hs
--- a/src/TooManyCells/Matrix/Preprocess.hs
+++ b/src/TooManyCells/Matrix/Preprocess.hs
@@ -359,14 +359,14 @@
 shiftPositiveMat = MatObsRow
               . S.fromColsL
               . fmap (\ xs -> bool xs (shift . S.toDenseListSV $ xs)
-                            . any (<= 0)
+                            . any (< 0)
                             . S.toDenseListSV
                             $ xs
                      )
               . S.toColsL
               . unMatObsRow
   where
-    shift xs = S.sparsifySV . S.vr . fmap (\x -> x + minimum xs + 1) $ xs
+    shift xs = S.sparsifySV . S.vr . fmap (+ (abs $ minimum xs)) $ xs
 
 -- | Shift features to positive values for SingleCells.
 shiftPositiveSc :: SingleCells -> SingleCells
diff --git a/too-many-cells.cabal b/too-many-cells.cabal
--- a/too-many-cells.cabal
+++ b/too-many-cells.cabal
@@ -1,6 +1,6 @@
 cabal-version: >=1.10
 name: too-many-cells
-version: 0.2.2.1
+version: 0.2.2.2
 license: GPL-3
 license-file: LICENSE
 copyright: 2019 Gregory W. Schwartz
