diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,9 @@
 # Changelog for the [`ghc-typelits-natnormalise`](http://hackage.haskell.org/package/ghc-typelits-natnormalise) package
 
+## 0.7.6 *June 20th 2021*
+* Do not vacuously solve `forall a b . 1 <=? a^b ~ True`
+* Do not solve constraints within `KnownNat`, leave that to https://hackage.haskell.org/package/ghc-typelits-knonwnnat
+
 ## 0.7.5 *June 17th 2021*
 * Fixes [#52](https://github.com/clash-lang/ghc-typelits-natnormalise/issues/50) Plugin doesn't solve inside arbitrary class constraints
 * Build on GHC 9.2.0.20210422
diff --git a/ghc-typelits-natnormalise.cabal b/ghc-typelits-natnormalise.cabal
--- a/ghc-typelits-natnormalise.cabal
+++ b/ghc-typelits-natnormalise.cabal
@@ -1,5 +1,5 @@
 name:                ghc-typelits-natnormalise
-version:             0.7.5
+version:             0.7.6
 synopsis:            GHC typechecker plugin for types of kind GHC.TypeLits.Nat
 description:
   A type checker plugin for GHC that can solve /equalities/ and /inequalities/
diff --git a/src/GHC/TypeLits/Normalise.hs b/src/GHC/TypeLits/Normalise.hs
--- a/src/GHC/TypeLits/Normalise.hs
+++ b/src/GHC/TypeLits/Normalise.hs
@@ -192,6 +192,7 @@
 import GHC.Builtin.Types.Literals (typeNatLeqTyCon)
 #endif
 import GHC.Core (Expr (..))
+import GHC.Core.Class (className)
 import GHC.Core.Coercion (CoercionHole, Role (..), mkUnivCo)
 import GHC.Core.Predicate
   (EqRel (NomEq), Pred (EqPred), classifyPredType, getEqPredTys, mkClassPred,
@@ -243,6 +244,7 @@
 import TysWiredIn (typeNatKind)
 
 import Coercion   (CoercionHole, Role (..), mkUnivCo)
+import Class      (className)
 import TcPluginM  (newCoercionHole, tcLookupClass, newEvVar)
 import TcRnTypes  (TcPlugin (..), TcPluginResult(..))
 import TyCoRep    (UnivCoProvenance (..))
@@ -521,7 +523,7 @@
         -- No existing evidence found
         Nothing -> case getClassPredTys_maybe pred' of
           -- Are we trying to solve a class instance?
-          Just _ -> do
+          Just (cls,_) | className cls /= knownNatClassName -> do
             -- Create new evidence binding for normalized class constraint
             evVar <- newEvVar pred'
             -- Bind the evidence to a new wanted normalized class constraint
diff --git a/src/GHC/TypeLits/Normalise/Unify.hs b/src/GHC/TypeLits/Normalise/Unify.hs
--- a/src/GHC/TypeLits/Normalise/Unify.hs
+++ b/src/GHC/TypeLits/Normalise/Unify.hs
@@ -656,15 +656,6 @@
   if sN && pN
      then isNatural (S [P ps])
      else WriterT Nothing
--- This is a quick hack, it determines that
---
--- > a^b - 1
---
--- is a natural number as long as 'a' and 'b' are natural numbers.
--- This used to assert that:
---
--- > (1 <=? a^b) ~ True
-isNatural (S [P [I (-1)],P [E s p]]) = (&&) <$> isNatural s <*> isNatural (S [p])
 -- We give up for all other products for now
 isNatural (S [P (C c:ps)]) = do
   tell (Set.singleton c)
