diff --git a/Ganeti/HTools/Rapi.hs b/Ganeti/HTools/Rapi.hs
index aade23a6f0f0b9f696cb070a8c1c621ca8bbc128..786bfe151a7783a80ef1233ac6800f6865f70a8a 100644
--- a/Ganeti/HTools/Rapi.hs
+++ b/Ganeti/HTools/Rapi.hs
@@ -39,19 +39,19 @@ getInstances :: String -> IO (Result String)
 getInstances master = do
   let url2 = printf "%s/2/instances?bulk=1" (formatHost master)
   body <- getUrl url2
-  return $ (body >>= \x -> do
-              arr <- loadJSArray x
-              ilist <- mapM parseInstance arr
-              return $ unlines ilist)
+  return $ (do x <- body
+               arr <- loadJSArray x
+               ilist <- mapM parseInstance arr
+               return $ unlines ilist)
 
 getNodes :: String -> IO (Result String)
 getNodes master = do
   let url2 = printf "%s/2/nodes?bulk=1" (formatHost master)
   body <- getUrl url2
-  return $ (body >>= \x -> do
-             arr <- loadJSArray x
-             nlist <- mapM parseNode arr
-             return $ unlines nlist)
+  return $ (do x <- body
+               arr <- loadJSArray x
+               nlist <- mapM parseNode arr
+               return $ unlines nlist)
 
 parseInstance :: JSObject JSValue -> Result String
 parseInstance a =