diff --git a/net-mqtt-rpc.cabal b/net-mqtt-rpc.cabal
--- a/net-mqtt-rpc.cabal
+++ b/net-mqtt-rpc.cabal
@@ -1,13 +1,13 @@
 cabal-version: 1.12
 
--- This file has been generated from package.yaml by hpack version 0.34.4.
+-- This file has been generated from package.yaml by hpack version 0.34.6.
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 3b23271875b2f32d9cd255411974c5c45f97b08b12d300e2e341e73cef64e876
+-- hash: ceea5eb6200a9912b3c10a9b80769035ab832b0bce6627535d3e5a4c4c1edc5e
 
 name:           net-mqtt-rpc
-version:        0.2.0.0
+version:        0.2.0.1
 synopsis:       Make RPC calls via an MQTT broker.
 description:    Please see the README on GitHub at <https://github.com/dustin/net-mqtt-rpc#readme>
 category:       Network
@@ -43,7 +43,7 @@
       base >=4.7 && <5
     , bytestring
     , exceptions
-    , net-mqtt >=0.8.0.0
+    , net-mqtt >=0.8.2.0
     , random
     , stm
     , text
@@ -65,7 +65,7 @@
       base >=4.7 && <5
     , bytestring
     , exceptions
-    , net-mqtt >=0.8.0.0
+    , net-mqtt >=0.8.2.0
     , net-mqtt-rpc
     , network-uri
     , optparse-applicative
diff --git a/src/Network/MQTT/RPC.hs b/src/Network/MQTT/RPC.hs
--- a/src/Network/MQTT/RPC.hs
+++ b/src/Network/MQTT/RPC.hs
@@ -5,20 +5,21 @@
 
 module Network.MQTT.RPC (call) where
 
-import           Control.Concurrent.STM (atomically, newTChanIO, readTChan, writeTChan)
-import           Control.Monad          (when)
-import           Control.Monad.Catch    (bracket, throwM)
-import           Control.Monad.IO.Class (MonadIO (..))
-import qualified Data.ByteString.Lazy   as BL
-import           Data.Text              (Text)
-import qualified Data.Text.Encoding     as TE
-import qualified Data.UUID              as UUID
+import           Control.Concurrent.STM   (atomically, newTChanIO, readTChan, writeTChan)
+import           Control.Monad            (when)
+import           Control.Monad.Catch      (bracket, throwM)
+import           Control.Monad.IO.Class   (MonadIO (..))
+import qualified Data.ByteString.Lazy     as BL
+import           Data.Text                (Text)
+import qualified Data.Text.Encoding       as TE
+import qualified Data.Text.Encoding.Error as TE
+import qualified Data.UUID                as UUID
 import           Network.MQTT.Client
 import           Network.MQTT.Topic
-import           System.Random          (randomIO)
+import           System.Random            (randomIO)
 
 blToText :: BL.ByteString -> Text
-blToText = TE.decodeUtf8 . BL.toStrict
+blToText = TE.decodeUtf8With TE.lenientDecode . BL.toStrict
 
 -- | Send a message to a topic on an MQTT broker with a random
 -- subscription and correlation such that an agent may receive this
