diff --git a/htools/Ganeti/HTools/ExtLoader.hs b/htools/Ganeti/HTools/ExtLoader.hs
index 74f68381d6b960dca1420b1417dc97eacc8d5605..435d3686d53fc8699b7c75783e6d246a2dfdbd78 100644
--- a/htools/Ganeti/HTools/ExtLoader.hs
+++ b/htools/Ganeti/HTools/ExtLoader.hs
@@ -57,17 +57,17 @@ wrapIO = flip catch (return . Bad . show)
 
 parseUtilisation :: String -> Result (String, DynUtil)
 parseUtilisation line =
-    let columns = sepSplit ' ' line
-    in case columns of
-         [name, cpu, mem, dsk, net] -> do
-                      rcpu <- tryRead name cpu
-                      rmem <- tryRead name mem
-                      rdsk <- tryRead name dsk
-                      rnet <- tryRead name net
-                      let du = DynUtil { cpuWeight = rcpu, memWeight = rmem
-                                       , dskWeight = rdsk, netWeight = rnet }
-                      return (name, du)
-         _ -> Bad $ "Cannot parse line " ++ line
+    case sepSplit ' ' line of
+      [name, cpu, mem, dsk, net] ->
+          do
+            rcpu <- tryRead name cpu
+            rmem <- tryRead name mem
+            rdsk <- tryRead name dsk
+            rnet <- tryRead name net
+            let du = DynUtil { cpuWeight = rcpu, memWeight = rmem
+                             , dskWeight = rdsk, netWeight = rnet }
+            return (name, du)
+      _ -> Bad $ "Cannot parse line " ++ line
 
 -- | External tool data loader from a variety of sources.
 loadExternalData :: Options