diff --git a/System/Time.hsc b/System/Time.hsc
--- a/System/Time.hsc
+++ b/System/Time.hsc
@@ -250,11 +250,20 @@
   return (TOD (fromIntegral sec) ((fromIntegral usec) * 1000000))
 
 #elif HAVE_GETTIMEOFDAY
+
+# if defined(mingw32_HOST_OS)
+type Timeval_tv_sec = CLong
+type Timeval_tv_usec = CLong
+# else
+type Timeval_tv_sec = CTime
+type Timeval_tv_usec = CSUSeconds
+# endif
+
 getClockTime = do
   allocaBytes (#const sizeof(struct timeval)) $ \ p_timeval -> do
     throwErrnoIfMinus1_ "getClockTime" $ gettimeofday p_timeval nullPtr
-    sec  <- (#peek struct timeval,tv_sec)  p_timeval :: IO CTime
-    usec <- (#peek struct timeval,tv_usec) p_timeval :: IO CSUSeconds
+    sec  <- (#peek struct timeval,tv_sec)  p_timeval :: IO Timeval_tv_sec
+    usec <- (#peek struct timeval,tv_usec) p_timeval :: IO Timeval_tv_usec
     return (TOD (realToInteger sec) ((realToInteger usec) * 1000000))
  
 #elif HAVE_FTIME
diff --git a/include/HsTime.h b/include/HsTime.h
--- a/include/HsTime.h
+++ b/include/HsTime.h
@@ -27,7 +27,7 @@
 #if HAVE_TIME_H
 #include <time.h>
 #endif
-#if HAVE_SYS_TIMEB_H
+#if HAVE_SYS_TIMEB_H && !defined(__FreeBSD__)
 #include <sys/timeb.h>
 #endif
 
diff --git a/old-time.cabal b/old-time.cabal
--- a/old-time.cabal
+++ b/old-time.cabal
@@ -1,5 +1,5 @@
 name:		old-time
-version:	1.1.0.0
+version:	1.1.0.1
 license:	BSD3
 license-file:	LICENSE
 maintainer:	libraries@haskell.org
