diff --git a/Data/IP.hs b/Data/IP.hs
--- a/Data/IP.hs
+++ b/Data/IP.hs
@@ -47,9 +47,9 @@
         fromEnum xs = foldl' (.|.) 0 $ map fromEnum1 xs
         toEnum f = map snd $ filter fst [(testBit f 0, Res), (testBit f 1, MF), (testBit f 2, DF)]
 
-fromEnum1 DF   = 4
-fromEnum1 MF   = 2
-fromEnum1 Res  = 1
+fromEnum1 MF   = 1
+fromEnum1 DF   = 2
+fromEnum1 Res  = 4
 
 -- |This IPv4 header structure lacks support for options.  Ints are used
 -- for most integral data types and the binary instance hands the bit packing.
diff --git a/network-data.cabal b/network-data.cabal
--- a/network-data.cabal
+++ b/network-data.cabal
@@ -1,5 +1,5 @@
 name:           network-data
-version:        0.5
+version:        0.5.1
 license:        BSD3
 license-file:   LICENSE
 author:         Thomas DuBuisson <thomas.dubuisson@gmail.com>
