diff --git a/htools/Ganeti/Query/Common.hs b/htools/Ganeti/Query/Common.hs
index ea70fc9f8240d600adc2c54567650c625ac62f8e..014957888a8ca4d4c2ce061c33307eb81a4695d4 100644
--- a/htools/Ganeti/Query/Common.hs
+++ b/htools/Ganeti/Query/Common.hs
@@ -29,6 +29,7 @@ module Ganeti.Query.Common
   , rsMaybe
   , rsUnknown
   , missingRuntime
+  , rpcErrorToStatus
   , timeStampFields
   , uuidFields
   , serialFields
@@ -45,6 +46,7 @@ import Text.JSON (JSON, showJSON)
 import qualified Ganeti.Constants as C
 import Ganeti.Config
 import Ganeti.Objects
+import Ganeti.Rpc
 import Ganeti.Query.Language
 import Ganeti.Query.Types
 
@@ -84,6 +86,13 @@ rsUnknown = ResultEntry RSUnknown Nothing
 missingRuntime :: FieldGetter a b
 missingRuntime = FieldRuntime (\_ _ -> ResultEntry RSNoData Nothing)
 
+-- * Error conversion
+
+-- | Convert RpcError to ResultStatus
+rpcErrorToStatus :: RpcError -> ResultStatus
+rpcErrorToStatus (OfflineNodeError _) = RSOffline
+rpcErrorToStatus _ = RSNoData
+
 -- * Common fields
 
 -- | The list of timestamp fields.