diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,7 @@
+## Version 0.6.1 (2018-09-22)
+
+- Set stdout/stderr encoding to UTF-8 on Windows ([#218][218], [@moodmosaic][moodmosaic])
+
 ## Version 0.6 (2018-05-14)
 
 - Pass [Dieharder][Dieharder] statistical/randomness tests ([#185][185], [@moodmosaic][moodmosaic])
diff --git a/hedgehog.cabal b/hedgehog.cabal
--- a/hedgehog.cabal
+++ b/hedgehog.cabal
@@ -1,4 +1,4 @@
-version: 0.6
+version: 0.6.1
 
 name:
   hedgehog
@@ -37,6 +37,8 @@
   , GHC == 8.2.1
   , GHC == 8.2.2
   , GHC == 8.4.1
+  , GHC == 8.4.2
+  , GHC == 8.4.3
 extra-source-files:
   README.md
   CHANGELOG.md
@@ -52,7 +54,7 @@
     , async                           >= 2.0        && < 2.3
     , bytestring                      >= 0.10       && < 0.11
     , concurrent-output               >= 1.7        && < 1.11
-    , containers                      >= 0.4        && < 0.6
+    , containers                      >= 0.4        && < 0.7
     , directory                       >= 1.2        && < 1.4
     , exceptions                      >= 0.7        && < 0.11
     , lifted-async                    >= 0.7        && < 0.11
@@ -68,7 +70,7 @@
     , template-haskell                >= 2.10       && < 2.14
     , text                            >= 1.1        && < 1.3
     , th-lift                         >= 0.7        && < 0.8
-    , time                            >= 1.4        && < 1.9
+    , time                            >= 1.4        && < 1.10
     , transformers                    >= 0.4        && < 0.6
     , transformers-base               >= 0.4        && < 0.5
     , wl-pprint-annotated             >= 0.0        && < 0.2
@@ -124,12 +126,13 @@
     test
 
   other-modules:
+    Test.Hedgehog.Seed
     Test.Hedgehog.Text
 
   build-depends:
       hedgehog
     , base                            >= 3          && < 5
-    , containers                      >= 0.4        && < 0.6
+    , containers                      >= 0.4        && < 0.7
     , pretty-show                     >= 1.6        && < 1.8
     , semigroups                      >= 0.16       && < 0.19
     , text                            >= 1.1        && < 1.3
diff --git a/src/Hedgehog/Internal/Report.hs b/src/Hedgehog/Internal/Report.hs
--- a/src/Hedgehog/Internal/Report.hs
+++ b/src/Hedgehog/Internal/Report.hs
@@ -1,4 +1,5 @@
 {-# OPTIONS_HADDOCK not-home #-}
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DeriveFoldable #-}
 {-# LANGUAGE DeriveFunctor #-}
 {-# LANGUAGE DeriveTraversable #-}
@@ -63,6 +64,9 @@
 import           System.Console.ANSI (ConsoleLayer(..), ConsoleIntensity(..))
 import           System.Console.ANSI (SGR(..), setSGRCode)
 import           System.Directory (makeRelativeToCurrentDirectory)
+#if mingw32_HOST_OS
+import           System.IO (hSetEncoding, stdout, stderr, utf8)
+#endif
 
 import           Text.PrettyPrint.Annotated.WL (Doc, (<+>))
 import qualified Text.PrettyPrint.Annotated.WL as WL
@@ -885,6 +889,11 @@
         DisableColor ->
           WL.display
 
+#if mingw32_HOST_OS
+  liftIO $ do
+    hSetEncoding stdout utf8
+    hSetEncoding stderr utf8
+#endif
   pure .
     display .
     WL.renderSmart 100 $
diff --git a/src/Hedgehog/Internal/Runner.hs b/src/Hedgehog/Internal/Runner.hs
--- a/src/Hedgehog/Internal/Runner.hs
+++ b/src/Hedgehog/Internal/Runner.hs
@@ -1,5 +1,6 @@
 {-# OPTIONS_HADDOCK not-home #-}
 {-# LANGUAGE BangPatterns #-}
+{-# LANGUAGE CPP #-}
 {-# LANGUAGE DoAndIfThenElse #-}
 {-# LANGUAGE GeneralizedNewtypeDeriving #-}
 {-# LANGUAGE LambdaCase #-}
@@ -45,6 +46,9 @@
 
 import           Language.Haskell.TH.Lift (deriveLift)
 
+#if mingw32_HOST_OS
+import           System.IO (hSetEncoding, stdout, stderr, utf8)
+#endif
 
 -- | Configuration for a property test run.
 --
@@ -265,6 +269,10 @@
     -- our tests will saturate all the capabilities they're given.
     updateNumCapabilities (n + 2)
 
+#if mingw32_HOST_OS
+    hSetEncoding stdout utf8
+    hSetEncoding stderr utf8
+#endif
     putStrLn $ "━━━ " ++ unGroupName group ++ " ━━━"
 
     verbosity <- resolveVerbosity (runnerVerbosity config)
diff --git a/src/Hedgehog/Internal/Seed.hs b/src/Hedgehog/Internal/Seed.hs
--- a/src/Hedgehog/Internal/Seed.hs
+++ b/src/Hedgehog/Internal/Seed.hs
@@ -25,6 +25,9 @@
 -- 2. Nikos Baxevanis
 --    https://github.com/moodmosaic/SplitMix/blob/master/SplitMix.hs
 --
+
+#include "MachDeps.h"
+
 module Hedgehog.Internal.Seed (
     Seed(..)
   , random
@@ -48,7 +51,11 @@
 
 import           Data.Bifunctor (first)
 import           Data.Bits ((.|.), xor, shiftR, popCount)
-import           Data.Int (Int32, Int64)
+#if (SIZEOF_HSINT == 8)
+import           Data.Int (Int64)
+#else
+import           Data.Int (Int32)
+#endif
 import           Data.Time.Clock.POSIX (getPOSIXTime)
 import           Data.IORef (IORef)
 import qualified Data.IORef as IORef
@@ -100,7 +107,7 @@
 --
 from :: Word64 -> Seed
 from x =
-  Seed x goldenGamma
+  Seed (mix64 x) (mixGamma (x + goldenGamma))
 
 -- | A predefined gamma value's needed for initializing the "root" instances of
 --   'Seed'. That is, instances not produced by splitting an already existing
@@ -192,15 +199,13 @@
     y = mix64variant13 x .|. 1
     n = popCount $ y `xor` (y `shiftR` 1)
   in
-    if n >= 24 then
+    if n < 24 then
       y `xor` 0xaaaaaaaaaaaaaaaa
     else
       y
 
 ------------------------------------------------------------------------
 -- RandomGen instances
-
-#include "MachDeps.h"
 
 #if (SIZEOF_HSINT == 8)
 instance RandomGen Seed where
diff --git a/test/Test/Hedgehog/Seed.hs b/test/Test/Hedgehog/Seed.hs
new file mode 100644
--- /dev/null
+++ b/test/Test/Hedgehog/Seed.hs
@@ -0,0 +1,84 @@
+{-# LANGUAGE TemplateHaskell #-}
+module Test.Hedgehog.Seed (
+    tests
+  ) where
+
+import           Data.Foldable (for_)
+
+import           Hedgehog
+import qualified Hedgehog.Internal.Seed as Seed
+
+data Assert =
+  Assert {
+      expected :: !Seed
+    , actual   :: !Seed
+    } deriving (Show)
+
+-- | Verify that SplitMix avoids pathological γ-values, as discussed by
+--   Melissa E. O'Neill in the post with title Bugs in SplitMix(es), at
+--   http://www.pcg-random.org/posts/bugs-in-splitmix.html
+--
+--   See also:
+--   https://github.com/hedgehogqa/haskell-hedgehog/issues/191
+--
+prop_avoid_pathological_gamma_values :: Property
+prop_avoid_pathological_gamma_values =
+  withTests 1 . property $ do
+    for_ asserts $ \a ->
+      expected a === actual a
+
+asserts :: [Assert]
+asserts = [
+    Assert
+      (Seed 15210016002011668638 12297829382473034411)
+      (Seed.from 0x61c8864680b583eb)
+  , Assert
+      (Seed 11409286845259996466 12297829382473034411)
+      (Seed.from 0xf8364607e9c949bd)
+  , Assert
+      (Seed 1931727433621677744 12297829382473034411)
+      (Seed.from 0x88e48f4fcc823718)
+  , Assert
+      (Seed 307741759840609752 12297829382473034411)
+      (Seed.from 0x7f83ab8da2e71dd1)
+  , Assert
+      (Seed 8606169619657412120 12297829382473034413)
+      (Seed.from 0x7957d809e827ff4c)
+  , Assert
+      (Seed 13651108307767328632 12297829382473034413)
+      (Seed.from 0xf8d059aee4c53639)
+  , Assert
+      (Seed 125750466559701114 12297829382473034413)
+      (Seed.from 0x9cd9f015db4e58b7)
+  , Assert
+      (Seed 6781260234005250507 12297829382473034413)
+      (Seed.from 0xf4077b0dbebc73c0)
+  , Assert
+      (Seed 15306535823716590088 12297829382473034405)
+      (Seed.from 0x305cb877109d0686)
+  , Assert
+      (Seed 7344074043290227165 12297829382473034405)
+      (Seed.from 0x359e58eeafebd527)
+  , Assert
+      (Seed 9920554987610416076 12297829382473034405)
+      (Seed.from 0xbeb721c511b0da6d)
+  , Assert
+      (Seed 3341781972484278810 12297829382473034405)
+      (Seed.from 0x86466fd0fcc363a6)
+  , Assert
+      (Seed 12360157267739240775 12297829382473034421)
+      (Seed.from 0xefee3e7b93db3075)
+  , Assert
+      (Seed 600595566262245170 12297829382473034421)
+      (Seed.from 0x79629ee76aa83059)
+  , Assert
+      (Seed 1471112649570176389 12297829382473034421)
+      (Seed.from 0x05d507d05e785673)
+  , Assert
+      (Seed 8100917074368564322 12297829382473034421)
+      (Seed.from 0x76442b62dddf926c)
+  ]
+
+tests :: IO Bool
+tests =
+  checkParallel $$(discover)
diff --git a/test/test.hs b/test/test.hs
--- a/test/test.hs
+++ b/test/test.hs
@@ -2,6 +2,7 @@
 import           System.IO (BufferMode(..), hSetBuffering, stdout, stderr)
 import           System.Exit (exitFailure)
 
+import qualified Test.Hedgehog.Seed
 import qualified Test.Hedgehog.Text
 
 
@@ -12,6 +13,7 @@
 
   results <- sequence [
       Test.Hedgehog.Text.tests
+    , Test.Hedgehog.Seed.tests
     ]
 
   unless (and results) $
