diff --git a/libmpd.cabal b/libmpd.cabal
--- a/libmpd.cabal
+++ b/libmpd.cabal
@@ -1,5 +1,5 @@
 Name:               libmpd
-Version:            0.9.0.2
+Version:            0.9.0.3
 Synopsis:           An MPD client library.
 Description:        A client library for MPD, the Music Player Daemon.
 Category:           Network, Sound
diff --git a/src/Network/MPD/Applicative/Status.hs b/src/Network/MPD/Applicative/Status.hs
--- a/src/Network/MPD/Applicative/Status.hs
+++ b/src/Network/MPD/Applicative/Status.hs
@@ -1,4 +1,4 @@
-{-# LANGUAGE OverloadedStrings #-}
+{-# LANGUAGE OverloadedStrings, TupleSections #-}
 
 {- |
 Module      : Network.MPD.Applicative.Status
@@ -95,7 +95,8 @@
                 "nextsong"       -> int   $ \x -> a { stNextSongPos     = Just x }
                 "nextsongid"     -> int   $ \x -> a { stNextSongID      = Just $ Id x }
                 "time"           -> time  $ \x -> a { stTime            = Just x }
-                "elapsed"        -> frac  $ \x -> a { stTime            = fmap ((,) x . snd) (stTime a) }
+                "elapsed"        -> frac  $ \x -> a { stTime            = fmap ((x,) . snd) (stTime a) }
+                "duration"       -> num   $ \x -> a { stTime            = fmap ((,x) . fst) (stTime a) }
                 "bitrate"        -> int   $ \x -> a { stBitrate         = Just x }
                 "xfade"          -> num   $ \x -> a { stXFadeWidth      = x }
                 "mixrampdb"      -> frac  $ \x -> a { stMixRampdB       = x }
diff --git a/tests/StringConn.hs b/tests/StringConn.hs
--- a/tests/StringConn.hs
+++ b/tests/StringConn.hs
@@ -11,6 +11,7 @@
 
 module StringConn where
 
+import           Control.Applicative
 import           Prelude hiding (exp)
 import           Control.Monad.Error
 import           Control.Monad.Identity
@@ -39,7 +40,7 @@
     SMPD { runSMPD :: ErrorT MPDError
                       (StateT [(Expect, Response String)]
                        (ReaderT Password Identity)) a
-         } deriving (Functor, Monad, MonadError MPDError)
+         } deriving (Functor, Applicative, Monad, MonadError MPDError)
 
 instance MonadMPD StringMPD where
     getVersion  = error "StringConn.getVersion: undefined"
