diff --git a/Ganeti/HTools/Cluster.hs b/Ganeti/HTools/Cluster.hs
index 5bba46e1401e5c71dd0cfa57b25d9292fb41101a..07d7c8e747f44b8462ea8cb9f4b46a134cd30597 100644
--- a/Ganeti/HTools/Cluster.hs
+++ b/Ganeti/HTools/Cluster.hs
@@ -760,11 +760,12 @@ loadData ndata idata =
                           Node.create (read tm) (read nm)
                                   (read fm) (read td) (read fd)))
                     Node.setIdx
-    {- instance file: name mem disk pnode snode -}
+    {- instance file: name mem disk status pnode snode -}
         (kti, il) = loadTabular idata
-                    (\ (name:mem:dsk:pnode:snode:[]) ->
+                    (\ (name:mem:dsk:status:pnode:snode:[]) ->
                          (name,
                           Instance.create (read mem) (read dsk)
+                              status
                               (fromJust $ lookup pnode ktn)
                               (fromJust $ lookup snode ktn)))
                     Instance.setIdx
diff --git a/Ganeti/HTools/Instance.hs b/Ganeti/HTools/Instance.hs
index 4dcb28d4dd41e3cd4b4289aeb1c360bfcc8aca8d..d115742e0ffce6d4c2bb57119672af2270414dac 100644
--- a/Ganeti/HTools/Instance.hs
+++ b/Ganeti/HTools/Instance.hs
@@ -6,18 +6,27 @@ intelligence is in the "Node" and "Cluster" modules.
 -}
 module Ganeti.HTools.Instance where
 
-data Instance = Instance { mem :: Int   -- ^ memory of the instance
-                         , dsk :: Int   -- ^ disk size of instance
-                         , pnode :: Int -- ^ original primary node
-                         , snode :: Int -- ^ original secondary node
-                         , idx :: Int   -- ^ internal index for book-keeping
+data Instance = Instance { mem :: Int       -- ^ memory of the instance
+                         , dsk :: Int       -- ^ disk size of instance
+                         , running :: Bool  -- ^ whether the instance
+                                            -- is running
+                         , run_st :: String -- ^ original (text) run status
+                         , pnode :: Int     -- ^ original primary node
+                         , snode :: Int     -- ^ original secondary node
+                         , idx :: Int       -- ^ internal index for
+                                            -- book-keeping
                          } deriving (Show)
 
-create :: Int -> Int -> Int -> Int -> Instance
-create mem_init dsk_init pn sn =
+create :: Int -> Int -> String -> Int -> Int -> Instance
+create mem_init dsk_init run_init pn sn =
     Instance {
           mem = mem_init,
           dsk = dsk_init,
+          running = case run_init of
+                      "running" -> True
+                      "ERROR_up" -> True
+                      _ -> False,
+          run_st = run_init,
           pnode = pn,
           snode = sn,
           idx = -1
diff --git a/Ganeti/HTools/Rapi.hs b/Ganeti/HTools/Rapi.hs
index ba1b5774996f973fec4180474a22f6b346bc5f95..c5e4df28f1f58d00443d4cb3ddbf9db5f7354433 100644
--- a/Ganeti/HTools/Rapi.hs
+++ b/Ganeti/HTools/Rapi.hs
@@ -151,10 +151,12 @@ parseInstance a =
         mem = case bep of
                 Left _ -> getIntElement "admin_ram" a
                 Right o -> getIntElement "memory" o
+        running = getStringElement "status" a
     in
       concatElems name $
                   concatElems (show `apply1` mem) $
                   concatElems (show `apply1` disk) $
+                  concatElems running $
                   concatElems pnode snode
 
 parseNode :: JSObject JSValue -> Either String String
diff --git a/hscan.hs b/hscan.hs
index 634cbe52c677f5a5fcb8f09927a529c70aad4b8e..37f72b068d6df21b94265d404f82a59235812475 100644
--- a/hscan.hs
+++ b/hscan.hs
@@ -99,8 +99,9 @@ serializeInstances il csf ktn kti =
                           pnode = fromJust $ lookup (Instance.pnode inst) etn
                           snode = fromJust $ lookup (Instance.snode inst) etn
                       in
-                        printf "%s|%d|%d|%s|%s"
+                        printf "%s|%d|%d|%s|%s|%s"
                                iname (Instance.mem inst) (Instance.dsk inst)
+                               (Instance.run_st inst)
                                pnode snode
                  )
                  instances