diff --git a/Ganeti/HTools/Loader.hs b/Ganeti/HTools/Loader.hs
index 2873688debee8199d97f56e09cc3124d929ff8d6..b737a46e8e0ac752ec0a5fbb1989d2ef050b4d88 100644
--- a/Ganeti/HTools/Loader.hs
+++ b/Ganeti/HTools/Loader.hs
@@ -37,7 +37,6 @@ module Ganeti.HTools.Loader
     , Request(..)
     ) where
 
-import Control.Monad (foldM)
 import Data.Function (on)
 import Data.List
 import Data.Maybe (fromJust)
@@ -138,11 +137,13 @@ mergeData :: [(String, DynUtil)]  -- ^ Instance utilisation data
           -> Result (Node.List, Instance.List, String)
 mergeData um (nl, il) = do
   let il2 = Container.fromAssocList il
-  il3 <- foldM (\im (name, n_util) -> do
-                  inst <- Container.findByName im name
-                  let new_i = inst { Instance.util = n_util }
-                  return $ Container.add (Instance.idx inst) new_i im
-               ) il2 um
+      il3 = foldl' (\im (name, n_util) ->
+                        case Container.findByName im name of
+                          Nothing -> im -- skipping unknown instance
+                          Just inst ->
+                              let new_i = inst { Instance.util = n_util }
+                              in Container.add (Instance.idx inst) new_i im
+                   ) il2 um
   let nl2 = foldl' fixNodes nl (Container.elems il3)
   let nl3 = Container.fromAssocList
             (map (\ (k, v) -> (k, Node.buildPeers v il3)) nl2)