diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+# 0.4.1.3
+
+- Allow pointers in header data
+
 # 0.4.1.2
 
 - Fix autonomous_system decoding
diff --git a/Data/GeoIP2.hs b/Data/GeoIP2.hs
--- a/Data/GeoIP2.hs
+++ b/Data/GeoIP2.hs
@@ -91,7 +91,8 @@
 -- | Open database from a bytestring
 openGeoDBBS :: BS.ByteString -> Either String GeoDB
 openGeoDBBS bsmem = do
-    hdr <- decode (getHeaderBytes bsmem)
+    hdr <- decode headerBytes >>= traversePtr strictHeaderAt
+
     when (hdr ^? key "binary_format_major_version" . geoNum /= (Just 2 :: Maybe Int)) $
       Left "Unsupported database version, only v2 supported."
     unless (hdr ^? key "record_size" . geoNum `elem` (Just <$> [24, 28, 32 :: Int])) $
@@ -105,6 +106,13 @@
                           <*> pure (hdr ^? key "description" . key "en" . _DataString)
     maybe (Left "Error decoding header") return res
   where
+    headerBytes = getHeaderBytes bsmem
+
+    strictHeaderAt :: Int64 -> Either String GeoField
+    strictHeaderAt offset = do
+      raw <- decode (BS.drop (fromIntegral offset) headerBytes)
+      traversePtr (strictHeaderAt . fromIntegral) raw
+
     toVersion = geoNum . prism' pfrom pto
       where
         pfrom :: GeoIP -> Int
diff --git a/Data/GeoIP2/Fields.hs b/Data/GeoIP2/Fields.hs
--- a/Data/GeoIP2/Fields.hs
+++ b/Data/GeoIP2/Fields.hs
@@ -64,12 +64,6 @@
   bytes <- getBytes (fromIntegral fsize)
   return $ BS.foldl' (\acc new -> fromIntegral new + 256 * acc) 0 bytes
 
-instance Serialize GeoField where
-  put = error "Serialization not implemented"
-  get = do
-    field <- get
-    traversePtr (\_ -> fail "Pointer not accepted at this position") field
-
 instance Serialize GeoFieldRaw where
   put = error "Serialization not implemented"
   get = do
diff --git a/geoip2.cabal b/geoip2.cabal
--- a/geoip2.cabal
+++ b/geoip2.cabal
@@ -1,5 +1,5 @@
 name:                geoip2
-version:             0.4.1.2
+version:             0.4.1.3
 synopsis:            Pure haskell interface to MaxMind GeoIP database
 description:
   GeoIP2 is a haskell binding to the MaxMind GeoIP2 database.
