diff --git a/System/Locale/Current.hs b/System/Locale/Current.hs
--- a/System/Locale/Current.hs
+++ b/System/Locale/Current.hs
@@ -1,4 +1,5 @@
 {-# LANGUAGE ForeignFunctionInterface #-}
+{-# LANGUAGE CPP #-}
 module System.Locale.Current
   ( getDay
   , getABDay
@@ -18,7 +19,11 @@
   )
 where
 
+#if MIN_VERSION_base(4,8,0)
+import Data.Time.Format (TimeLocale(..), defaultTimeLocale)
+#else
 import System.Locale (TimeLocale(..), defaultTimeLocale)
+#endif
 
 import Foreign.C.String (peekCString)
 import Foreign.C.Types (CInt(..), CChar(..))
diff --git a/cbits/glue.c b/cbits/glue.c
--- a/cbits/glue.c
+++ b/cbits/glue.c
@@ -6,7 +6,7 @@
 void
 prepare_locale(void)
 {
-  setlocale(LC_ALL, "");
+  setlocale(LC_TIME, "");
 }
 
 char *
diff --git a/env-locale.cabal b/env-locale.cabal
--- a/env-locale.cabal
+++ b/env-locale.cabal
@@ -1,5 +1,5 @@
 Name:                env-locale
-Version:             1.0.0.0
+Version:             1.0.0.1
 Synopsis:            A (non-forking) interface to the current locale
 Description:         A sane way to get the time locale defined by environment
 Homepage:            https://github.com/Ongy/locale-hs
@@ -18,12 +18,10 @@
   type:       git
   location:   https://github.com/Ongy/locale-hs
 
-
-
 Library
   Exposed-modules:   System.Locale.Current
   default-language:  Haskell2010
-  Build-depends:     base >=4 && <5, old-locale
+  Build-depends:     base >=4 && <5, old-locale, time
   
   Ghc-options:       -Wall -fwarn-tabs
   c-sources:         cbits/glue.c
