diff --git a/mbug.cabal b/mbug.cabal
--- a/mbug.cabal
+++ b/mbug.cabal
@@ -2,10 +2,10 @@
 --
 -- see: https://github.com/sol/hpack
 --
--- hash: 28915eed4aecb0981edfa9c311619daf8b7beb37c23db472bb31dfc31e6a8f1b
+-- hash: b33e31546f0bfe98b914770fbdde88baf6e998a04048d923660069706267a9ea
 
 name:           mbug
-version:        1.1
+version:        1.2
 synopsis:       download bugs mailboxes
 description:    See readme at https://gitlab.com/iu-guest/mbug
 category:       Debian
@@ -47,6 +47,7 @@
     , bytestring ==0.10.*
     , directory ==1.3.*
     , extra >=1.5 && <1.7
+    , formatting >=6.0 && <6.4
     , http-client ==0.5.*
     , http-client-tls ==0.3.*
     , optparse-applicative >=0.13 && <0.15
@@ -54,7 +55,6 @@
     , scalpel-core ==0.5.*
     , tagsoup ==0.14.*
     , text ==1.2.*
-    , th-printf ==0.5.*
     , time >=1.6 && <1.9
     , xdg-basedir ==0.2.*
   if flag(devel)
@@ -72,6 +72,7 @@
     , bytestring ==0.10.*
     , directory ==1.3.*
     , extra >=1.5 && <1.7
+    , formatting >=6.0 && <6.4
     , http-client ==0.5.*
     , http-client-tls ==0.3.*
     , mbug
@@ -80,7 +81,6 @@
     , scalpel-core ==0.5.*
     , tagsoup ==0.14.*
     , text ==1.2.*
-    , th-printf ==0.5.*
     , time >=1.6 && <1.9
     , xdg-basedir ==0.2.*
   if flag(devel)
diff --git a/src/MBug/Main.hs b/src/MBug/Main.hs
--- a/src/MBug/Main.hs
+++ b/src/MBug/Main.hs
@@ -1,6 +1,5 @@
 {-# LANGUAGE LambdaCase        #-}
 {-# LANGUAGE OverloadedStrings #-}
-{-# LANGUAGE QuasiQuotes       #-}
 {-# LANGUAGE RecordWildCards   #-}
 module MBug.Main (main) where
 
@@ -30,7 +29,8 @@
   , removeDirectoryRecursive
   )
 import           System.Process          (callProcess)
-import           Text.Printf.TH          (s, sb)
+import           Formatting              (sformat, formatToString, (%))
+import           Formatting.Formatters   (int, string)
 
 -- | 'Request' value, representing Debian Bugs System. Adjust 'path' and
 -- 'query' as needed.
@@ -41,7 +41,7 @@
 mboxRequest :: Int -> Request
 mboxRequest n = debbugsRequest
   { path        = "cgi-bin/bugreport.cgi"
-  , queryString = [sb|bug=%d;mbox=yes|] n
+  , queryString = encodeUtf8 $ sformat ("bug="%int%";mbox=yes") n
   }
 
 -- | Get cached response from @https://bugs.debian.org/<query>@. Cache
@@ -76,7 +76,7 @@
       let download bug = do mbox <- downloadMBox manager bug
                             pure (bug, mbox)
           incorporate (Bug {..}, mbox) =
-            let destination = [s|%s/bug%d|] (showFolderMH _folder) _number
+            let destination = formatToString (string%"/bug"%int) (showFolderMH _folder) _number
               in callProcess "/usr/bin/mh/inc"
                   ["-silent", "-file", mbox, destination]
       MH.resolve _folder >>= \path -> whenM (doesDirectoryExist path)
