diff --git a/compiler/coreSyn/CoreArity.lhs b/compiler/coreSyn/CoreArity.lhs
index 2c7cd83cbb338fefb88caefe3b88a67a8591a72d..080a6fd7674c90567dec851d9158d1734d3c7646 100644
--- a/compiler/coreSyn/CoreArity.lhs
+++ b/compiler/coreSyn/CoreArity.lhs
@@ -325,7 +325,7 @@ this transformation.  So we try to limit it as much as possible:
 
  (3) Do NOT move a lambda outside a case unless 
      (a) The scrutinee is ok-for-speculation, or
-     (b) more liberally: the scrunitee is cheap and -fpedantic-bottoms is not
+     (b) more liberally: the scrutinee is cheap and -fpedantic-bottoms is not
          enforced
 
 Of course both (1) and (2) are readily defeated by disguising the bottoms.
diff --git a/ghc/Main.hs b/ghc/Main.hs
index 481e7dfef5c7fb3a7a834b5114812dd3ea55145d..46b0970de694a3cfa5f1a6c8b41aa04a7f9798df 100644
--- a/ghc/Main.hs
+++ b/ghc/Main.hs
@@ -835,7 +835,7 @@ the GC stats. As a result, this breaks things like `:set +s` in GHCi
 (#8754). As a hacky workaround, we instead call 'defaultHooks'
 directly to initalize the flags in the RTS.
 
-A biproduct of this, I believe, is that hooks are likely broken on OS
+A byproduct of this, I believe, is that hooks are likely broken on OS
 X when dynamically linking. But this probably doesn't affect most
 people since we're linking GHC dynamically, but most things themselves
 link statically.