diff --git a/src/Commands.hs b/src/Commands.hs
--- a/src/Commands.hs
+++ b/src/Commands.hs
@@ -13,11 +13,13 @@
 import Data.Either
 import Data.Functor
 import Data.Maybe
+import Data.Function
 import Data.Ord
 import Control.Monad
 import System.Directory
 import qualified Data.Map as M
 import Data.Foldable (for_)
+import qualified Algorithms.NaturalSort
 
 import Types
 import Constants
@@ -277,9 +279,11 @@
 genOidTable conf inf out = do
     (tty, codeMap) <- readTipToiYaml inf
     (tt, totalMap) <- ttYaml2tt (takeDirectory inf) tty codeMap
-    let codes = ("START", fromIntegral (ttProductId tt)) : M.toList totalMap
+    let codes = ("START", fromIntegral (ttProductId tt)) : sort (M.toList totalMap)
     let pdfFile = oidTable conf inf codes
     B.writeFile out pdfFile
+  where
+    sort = sortBy (Algorithms.NaturalSort.compare `on` fst)
 
 genPNGsForFile :: Conf -> FilePath -> IO ()
 genPNGsForFile conf inf = do
diff --git a/tttool.cabal b/tttool.cabal
--- a/tttool.cabal
+++ b/tttool.cabal
@@ -1,5 +1,5 @@
 name:                tttool
-version:             1.6.1
+version:             1.6.1.1
 synopsis:            Working with files for the Tiptoi® pen
 description:         The Ravensburger Tiptoi® pen is programmed via special
                      files. Their file format has been reverse engineered; this
@@ -51,13 +51,13 @@
     Utils
 
   build-depends:
-    base        >= 4.5 &&  < 4.10,
-    binary      == 0.5.*   ||  == 0.7.*,
+    base        >= 4.5 && < 4.10,
+    binary      >= 0.5 && < 0.9,
     containers  == 0.4.*   ||  == 0.5.*,
     directory   == 1.2.*,
     executable-path == 0.0.*,
     filepath    == 1.3.*   ||  == 1.4.*,
-    template-haskell >= 2.7 && < 2.11,
+    template-haskell >= 2.7 && < 2.12,
 
     JuicyPixels >= 3.2.5   &&   < 3.3,
     aeson       >= 0.7     &&   < 0.12,
@@ -73,7 +73,8 @@
     split       == 0.2.*,
     optparse-applicative == 0.12.*,
     spool       == 0.1.*,
-    zlib        >= 0.5      && < 0.7
+    zlib        >= 0.5      && < 0.7,
+    natural-sort >= 0.1     && < 0.2
 
   if impl(ghc < 7.5)
     build-depends: ghc-prim
