diff --git a/changelog.txt b/changelog.txt
--- a/changelog.txt
+++ b/changelog.txt
@@ -1,4 +1,9 @@
-2017-08-14 v0.2.0.1 Christian Marie <christian@ponies.io>
+2017-08-25 v0.2.2.2 Christian Marie <christian@ponies.io>
+	* plugins: cabal plugin ignores dubious warning about AllRightsReserved
+	           license
+	* plugins: hlint plugin now exits with correct codes
+
+2017-08-14 v0.2.2.1 Christian Marie <christian@ponies.io>
 	* dependencies: Bump ghc-mod, hlint and stylish-haskell to be inline
 	                with latest stack-9.0 lts
         * plugins: ghc-mod will only work with >=5.8 now due CPP allergy
diff --git a/git-vogue.cabal b/git-vogue.cabal
--- a/git-vogue.cabal
+++ b/git-vogue.cabal
@@ -1,5 +1,5 @@
 name:                git-vogue
-version:             0.2.2.1
+version:             0.2.2.2
 synopsis:            A framework for pre-commit checks.
 description:         Make your Haskell git repositories fashionable.
 homepage:            https://github.com/christian-marie/git-vogue
diff --git a/src/git-vogue-cabal.hs b/src/git-vogue-cabal.hs
--- a/src/git-vogue-cabal.hs
+++ b/src/git-vogue-cabal.hs
@@ -81,7 +81,9 @@
     return (null packageChecks)
   where
     goodCheck (PackageDistSuspicious msg) =
-        not $ "ghc-options: -O2" `isInfixOf` msg
+        not (or [ "ghc-options: -O2" `isInfixOf` msg
+                , "'license' is AllRightsReserved" `isInfixOf` msg
+                ])
     goodCheck _ = True
 
     printCheckMessages = mapM_ (outputBad . format . explanation)
diff --git a/src/git-vogue-hlint.hs b/src/git-vogue-hlint.hs
--- a/src/git-vogue-hlint.hs
+++ b/src/git-vogue-hlint.hs
@@ -44,7 +44,7 @@
         check_fs <- read <$> readFile check_fs_list
         all_fs <- read <$> readFile all_fs_list
         -- Traverse the files, parsing and processing as we go for efficiency
-        rs <- forProjects (hsProjects check_fs all_fs) $ \fs -> do
+        void . forProjects (hsProjects check_fs all_fs) $ \fs -> do
             let hss = filter (isSuffixOf ".hs") fs
 
             (flags, classify, hint) <- autoSettings'
@@ -60,11 +60,11 @@
             let out = unlines errors <> "\n" <> ideas
 
             let ok = null ideas && null errors
-            unless ok (outputBad out)
+            unless ok $ do
+                outputBad out
+                exitFailure
             outputGood $ "Checked " <> show (length hss) <> " file(s)"
-            return ok
-
-        unless (and rs) exitFailure
+            exitSuccess
       where
         process classify hint =
             bimap (\x -> parseErrorMessage x <> show (parseErrorLocation x))
