diff --git a/Changelog.md b/Changelog.md
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,5 +1,12 @@
 # Changelog for net-mqtt
 
+## 0.8.2.2
+
+Fix for pub flow messages with 0 length properties that are explicitly
+encoded.
+
+Thanks to Marc Jakobi for pointing this out.
+
 ## 0.8.2.1
 
 A fix allowing the filter to wildcards to match their parent as per
diff --git a/net-mqtt.cabal b/net-mqtt.cabal
--- a/net-mqtt.cabal
+++ b/net-mqtt.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           net-mqtt
-version:        0.8.2.1
+version:        0.8.2.2
 synopsis:       An MQTT Protocol Implementation.
 description:    Please see the README on GitHub at <https://github.com/dustin/mqtt-hs#readme>
 category:       Network
diff --git a/src/Network/MQTT/Types.hs b/src/Network/MQTT/Types.hs
--- a/src/Network/MQTT/Types.hs
+++ b/src/Network/MQTT/Types.hs
@@ -665,7 +665,7 @@
   rl <- parseHdrLen
   mid <- aWord16
   st <- if rl > 2 then A.anyWord8 else pure 0
-  props <- if rl > 4 then parseProperties Protocol50 else pure mempty
+  props <- if rl > 3 then parseProperties Protocol50 else pure mempty
   pure (mid, st, props)
 
 parsePubACK :: A.Parser MQTTPkt
