diff --git a/boomwhacker.cabal b/boomwhacker.cabal
--- a/boomwhacker.cabal
+++ b/boomwhacker.cabal
@@ -1,5 +1,5 @@
 Name:                boomwhacker
-Version:             0.0.2
+Version:             0.0.2.1
 Synopsis:            Convert MIDI file to play-along boomwhacker animation
 Description:
   Convert MIDI file to play-along boomwhacker animation:
@@ -28,7 +28,7 @@
   ShakeRules.hs
 
 Source-Repository this
-  Tag:         0.0.2
+  Tag:         0.0.2.1
   Type:        darcs
   Location:    https://hub.darcs.net/thielema/boomwhacker
 
@@ -38,17 +38,17 @@
 
 Executable boomwhacker
   Build-Depends:
-    HPDF >=1.7 && <1.8,
-    time >=1.8 && <1.14,
+    HPDF >=1.7 && <1.9,
+    time >=1.8 && <1.16,
     shell-utility >=0.1 && <0.2,
-    optparse-applicative >=0.11 && <0.19,
+    optparse-applicative >=0.11 && <0.20,
     midi >=0.2.2 && <0.3,
     event-list >=0.1.3 && <0.2,
     non-negative >=0.1.2 && <0.2,
     filepath >=1.3 && <1.6,
     transformers >=0.3 && <0.7,
     non-empty >=0.3.4 && <0.4,
-    containers >=0.4 && <0.8,
+    containers >=0.4 && <0.9,
     array >=0.4 && <0.6,
     utility-ht >=0.0.10 && <0.1,
     base >=4.5 && <5
diff --git a/src/Main.hs b/src/Main.hs
--- a/src/Main.hs
+++ b/src/Main.hs
@@ -279,10 +279,18 @@
 selectTracks [] midi = Right midi
 selectTracks trackNos (MidiFile.Cons typ division tracks) =
    MidiFile.Cons typ division <$>
-   let trackMap = IntMap.fromList $ zip [1..] tracks in
-   Trav.forM trackNos $ \trackNo ->
-      maybe (Left $ printf "track %d not available" trackNo) Right $
-      IntMap.lookup trackNo trackMap
+   let trackSet = IntSet.fromList trackNos in
+   Trav.forM (zip [1..] tracks) $ \(trackNo,track) ->
+      Right $
+      if IntSet.member trackNo trackSet
+      then track
+      else EventList.filter isTempoEvent track
+
+isTempoEvent :: MidiEvent.T -> Bool
+isTempoEvent ev =
+   case ev of
+      MidiEvent.MetaEvent (MetaEvent.SetTempo _microsPerQN) -> True
+      _ -> False
 
 
 noteLetters :: [Char]
