diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,3 +1,7 @@
+## 3.2.6
+
+* Labeling the thread of SingleLogger.
+
 ## 3.2.5
 
 * Giving names to threads.
diff --git a/System/Log/FastLogger/File.hs b/System/Log/FastLogger/File.hs
--- a/System/Log/FastLogger/File.hs
+++ b/System/Log/FastLogger/File.hs
@@ -83,7 +83,7 @@
     n = log_backup_number spec
     dsts' = reverse . ("" :) . map (('.' :) . show) $ [0 .. n - 1]
     dsts = map (path ++) dsts'
-    srcs = tail dsts
+    srcs = drop 1 dsts
     srcdsts = zip srcs dsts
     move (src, dst) = do
         exist <- doesFileExist src
diff --git a/System/Log/FastLogger/SingleLogger.hs b/System/Log/FastLogger/SingleLogger.hs
--- a/System/Log/FastLogger/SingleLogger.hs
+++ b/System/Log/FastLogger/SingleLogger.hs
@@ -7,6 +7,7 @@
 
 import Control.Concurrent (MVar, forkIO, newEmptyMVar, putMVar, takeMVar)
 import Control.Concurrent.STM
+import GHC.Conc.Sync (labelThread)
 
 import System.Log.FastLogger.FileIO
 import System.Log.FastLogger.IO
@@ -69,7 +70,8 @@
     tvar <- newTVarIO 0
     ref <- newIORef (mempty, [])
     buf <- getBuffer bufsize
-    _ <- forkIO $ writer bufsize buf fdref tvar ref
+    tid <- forkIO $ writer bufsize buf fdref tvar ref
+    labelThread tid "FastLogger single logger's writer"
     let wakeup = atomically $ modifyTVar' tvar (+ 1)
         flush cont = do
             mvar <- newEmptyMVar
diff --git a/fast-logger.cabal b/fast-logger.cabal
--- a/fast-logger.cabal
+++ b/fast-logger.cabal
@@ -1,6 +1,6 @@
 cabal-version:      >=1.10
 name:               fast-logger
-version:            3.2.5
+version:            3.2.6
 license:            BSD3
 license-file:       LICENSE
 maintainer:         Kazu Yamamoto <kazu@iij.ad.jp>
