diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,13 @@
 Changelog
 =========
 
+v0.2.4.5
+--------
+
+- Merged patch to correct OSXFUSE library support
+- Merged fix for issue #3 (statfs -> statvfs)
+- Updated cabal file to be more canonical
+
 v0.2.4.4
 --------
 
diff --git a/HFuse.cabal b/HFuse.cabal
--- a/HFuse.cabal
+++ b/HFuse.cabal
@@ -1,5 +1,5 @@
 Name:                   HFuse
-Version:                0.2.4.4
+Version:                0.2.4.5
 License:                BSD3
 License-File:           LICENSE
 Author:                 Jeremy Bobbio
@@ -11,7 +11,7 @@
 Stability:              Experimental
 Cabal-Version:          >= 1.10
 Build-Type:             Simple
-Extra-source-files:     
+Extra-source-files:
         CHANGELOG.md
         README.md
 
@@ -26,6 +26,7 @@
   Include-Dirs:           /usr/include, /usr/local/include, .
   if os(darwin)
       CC-Options:           "-DMACFUSE"
+      CC-Options:           "-DFUSE_USE_VERSION=26"
       Include-Dirs:           /usr/local/include/osxfuse
   else
       if os(freebsd)
@@ -34,7 +35,10 @@
       else
          Includes:               sys/statfs.h
 
-  Extra-Libraries:        fuse
+  if os(darwin)
+      Extra-Libraries:        osxfuse
+  else
+      Extra-Libraries:        fuse
   Extra-Lib-Dirs:         /usr/local/lib
   CC-Options:             "-D_FILE_OFFSET_BITS=64"
   Default-Language:       Haskell2010
@@ -52,4 +56,4 @@
 
 source-repository head
     type:       git
-    location:   https://github.com/m15k/hfuse.git
+    location:   git://github.com/m15k/hfuse.git
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -14,10 +14,12 @@
 - This now works for base 4.6+
 - Added build options support for FreeBSD (contribution by https://github.com/pesco)
 - MacFUSE should also work (https://github.com/mwotton/hfuse)
+- [OSXFuse](https://osxfuse.github.io/) also works (https://github.com/edyu/hfuse)
 
 ## Installation
 
 All of the usual methods for installation will be supported.
+For Mac OS X, you must install [OSXFuse](https://osxfuse.github.io/) first.
 
 **Installation via Hackage**
 
@@ -31,7 +33,7 @@
 
 ```
 cabal unpack hfuse
-cd HFuse-0.2.4.3
+cd HFuse-0.2.4.4
 cabal sandbox init
 cabal install --only-dependencies
 cabal install -fdeveloper
diff --git a/System/Fuse.hsc b/System/Fuse.hsc
--- a/System/Fuse.hsc
+++ b/System/Fuse.hsc
@@ -631,30 +631,26 @@
                    Left  (Errno errno) -> return (- errno)
                    Right bytes         -> return (fromIntegral bytes)
           wrapStatFS :: CStatFS
-          wrapStatFS pStr pStatFS = handle fuseHandler $
+          wrapStatFS pStr pStatVFS = handle fuseHandler $
             do str <- peekCString pStr
-               eitherStatFS <- (fuseGetFileSystemStats ops) str
-               case eitherStatFS of
+               eitherStatVFS <- (fuseGetFileSystemStats ops) str
+               case eitherStatVFS of
                  Left (Errno errno) -> return (- errno)
                  Right stat         ->
-                   do (#poke struct statfs, f_bsize) pStatFS
+                   do (#poke struct statvfs, f_bsize) pStatVFS
                           (fromIntegral (fsStatBlockSize stat) :: (#type long))
-                      (#poke struct statfs, f_blocks) pStatFS
-                          (fromIntegral (fsStatBlockCount stat) :: (#type long))
-                      (#poke struct statfs, f_bfree) pStatFS
-                          (fromIntegral (fsStatBlocksFree stat) :: (#type long))
-                      (#poke struct statfs, f_bavail) pStatFS
-                          (fromIntegral (fsStatBlocksAvailable
-                                             stat) :: (#type long))
-                      (#poke struct statfs, f_files) pStatFS
-                           (fromIntegral (fsStatFileCount stat) :: (#type long))
-                      (#poke struct statfs, f_ffree) pStatFS
-                          (fromIntegral (fsStatFilesFree stat) :: (#type long))
-#ifndef MACFUSE
--- OSX doesn't support 'max name length'
-                      (#poke struct statfs, f_namelen) pStatFS
+                      (#poke struct statvfs, f_blocks) pStatVFS
+                          (fromIntegral (fsStatBlockCount stat) :: (#type fsblkcnt_t))
+                      (#poke struct statvfs, f_bfree) pStatVFS
+                          (fromIntegral (fsStatBlocksFree stat) :: (#type fsblkcnt_t))
+                      (#poke struct statvfs, f_bavail) pStatVFS
+                          (fromIntegral (fsStatBlocksAvailable stat) :: (#type fsblkcnt_t))
+                      (#poke struct statvfs, f_files) pStatVFS
+                           (fromIntegral (fsStatFileCount stat) :: (#type fsfilcnt_t))
+                      (#poke struct statvfs, f_ffree) pStatVFS
+                          (fromIntegral (fsStatFilesFree stat) :: (#type fsfilcnt_t))
+                      (#poke struct statvfs, f_namemax) pStatVFS
                           (fromIntegral (fsStatMaxNameLength stat) :: (#type long))
-#endif
                       return 0
           wrapFlush :: CFlush
           wrapFlush pFilePath pFuseFileInfo = handle fuseHandler $
@@ -1004,8 +1000,8 @@
 foreign import ccall safe "wrapper"
     mkWrite :: CWrite -> IO (FunPtr CWrite)
 
-data CStructStatFS -- struct fuse_stat_fs
-type CStatFS = CString -> Ptr CStructStatFS -> IO CInt
+data CStructStatVFS -- struct fuse_stat_fs
+type CStatFS = CString -> Ptr CStructStatVFS -> IO CInt
 foreign import ccall safe "wrapper"
     mkStatFS :: CStatFS -> IO (FunPtr CStatFS)
 
