diff --git a/src/Quasar/Async/Fork.hs b/src/Quasar/Async/Fork.hs
index e8944352336b7f1334a271286bee7ebcd6ca4fb3..c4b642273aa6603537f9563dd4d15a8d6fb96bb9 100644
--- a/src/Quasar/Async/Fork.hs
+++ b/src/Quasar/Async/Fork.hs
@@ -51,10 +51,8 @@ forkAsyncWithUnmaskSTM fn worker exChan = join <$> startShortIOSTM (forkAsyncWit
 -- * Fork in ShortIO (with ExceptionChannel)
 
 forkWithUnmaskShortIO :: ((forall a. IO a -> IO a) -> IO ()) -> ExceptionChannel -> ShortIO ThreadId
-forkWithUnmaskShortIO fn exChan = forkFn
+forkWithUnmaskShortIO fn exChan = mask_ $ forkIOWithUnmaskShortIO wrappedFn
   where
-    forkFn :: ShortIO ThreadId
-    forkFn = mask_ $ forkIOWithUnmaskShortIO wrappedFn
     wrappedFn :: (forall a. IO a -> IO a) -> IO ()
     wrappedFn unmask = fn unmask `catchAll` \ex -> atomically (throwToExceptionChannel exChan ex)