diff --git a/XMonad/Actions/WindowMenu.hs b/XMonad/Actions/WindowMenu.hs
--- a/XMonad/Actions/WindowMenu.hs
+++ b/XMonad/Actions/WindowMenu.hs
@@ -44,7 +44,7 @@
                   , ("Maximize"   , sendMessage $ maximizeRestore w)
                   , ("Minimize"   , sendMessage $ MinimizeWin w)
                   ] ++
-                  [ ("Move to workspace " ++ tag, windows $ W.shift tag)
+                  [ ("Move to " ++ tag, windows $ W.shift tag)
                     | tag <- tags ]
     runSelectedAction gsConfig' actions
 
diff --git a/XMonad/Layout/BoringWindows.hs b/XMonad/Layout/BoringWindows.hs
--- a/XMonad/Layout/BoringWindows.hs
+++ b/XMonad/Layout/BoringWindows.hs
@@ -19,7 +19,7 @@
                                    -- $usage
                                    boringWindows, boringAuto,
                                    markBoring, clearBoring,
-                                   focusUp, focusDown,
+                                   focusUp, focusDown, focusMaster,
 
                                    UpdateBoring(UpdateBoring),
                                    BoringMessage(Replace,Merge),
@@ -59,7 +59,7 @@
 -- "XMonad.Doc.Extending#Editing_the_layout_hook"
 
 
-data BoringMessage = FocusUp | FocusDown | IsBoring Window | ClearBoring
+data BoringMessage = FocusUp | FocusDown | FocusMaster | IsBoring Window | ClearBoring
                      | Replace String [Window]
                      | Merge String [Window]
                      deriving ( Read, Show, Typeable )
@@ -72,11 +72,12 @@
     deriving (Typeable)
 instance Message UpdateBoring
 
-markBoring, clearBoring, focusUp, focusDown :: X ()
+markBoring, clearBoring, focusUp, focusDown, focusMaster :: X ()
 markBoring = withFocused (sendMessage . IsBoring)
 clearBoring = sendMessage ClearBoring
 focusUp = sendMessage UpdateBoring >> sendMessage FocusUp
 focusDown = sendMessage UpdateBoring >> sendMessage FocusDown
+focusMaster = sendMessage UpdateBoring >> sendMessage FocusMaster
 
 data BoringWindows a = BoringWindows
     { namedBoring :: M.Map String [a] -- ^ store borings with a specific source
@@ -114,6 +115,12 @@
                                return Nothing
         | Just FocusDown <- fromMessage m =
                             do windows $ W.modify' $ skipBoring W.focusDown'
+                               return Nothing
+        | Just FocusMaster <- fromMessage m =
+                            do windows $ W.modify'
+                                            $ skipBoring W.focusDown' -- wiggle focus to make sure
+                                            . skipBoring W.focusUp'   -- no boring window gets the focus
+                                            . W.focusMaster'
                                return Nothing
         where skipBoring f st = fromMaybe st $ listToMaybe
                                 $ filter ((`notElem` W.focus st:bs) . W.focus)
diff --git a/xmonad-contrib-bluetilebranch.cabal b/xmonad-contrib-bluetilebranch.cabal
--- a/xmonad-contrib-bluetilebranch.cabal
+++ b/xmonad-contrib-bluetilebranch.cabal
@@ -1,5 +1,5 @@
 name:               xmonad-contrib-bluetilebranch
-version:            0.8.1.2
+version:            0.8.1.3
 homepage:           http://xmonad.org/
 synopsis:           Third party extensions for xmonad
 description:        This is a modified version of xmonad-contrib used by Bluetile.
@@ -36,7 +36,7 @@
         extensions: ForeignFunctionInterface
         cpp-options: -DXFT
 
-    build-depends:      mtl, unix, X11>=1.4.3, xmonad-bluetilebranch>=0.8, xmonad-bluetilebranch<0.9, utf8-string
+    build-depends:      mtl, unix, X11>=1.4.3, xmonad-bluetilebranch>=0.8.1.3, utf8-string
     ghc-options:        -Wall
     extensions:         ForeignFunctionInterface
     cpp-options:        -DUSE_UTF8
