diff --git a/test/hs/Test/Ganeti/Runtime.hs b/test/hs/Test/Ganeti/Runtime.hs
index b15aa36..7aa75ca 100644
--- a/test/hs/Test/Ganeti/Runtime.hs
+++ b/test/hs/Test/Ganeti/Runtime.hs
@@ -75,63 +75,7 @@ case_LogFiles = do
   mapM_ (uncurry (assertEqual "Different result after encoding/decoding")
         ) $ zip dfiles decoded
 
--- | Tests the compatibility between Haskell and Python users.
-case_UsersGroups :: Assertion
-case_UsersGroups = do
-  -- note: we don't have here a programatic way to list all users, so
-  -- we harcode some parts of the two (hs/py) lists
-  let daemons = [minBound..maxBound]::[GanetiDaemon]
-      users = map daemonUser daemons
-      groups = map daemonGroup $
-               map DaemonGroup daemons ++ map ExtraGroup [minBound..maxBound]
-  py_stdout <-
-    runPython "from ganeti import constants\n\
-              \from ganeti import serializer\n\
-              \import sys\n\
-              \users = [constants.MASTERD_USER,\n\
-              \         constants.NODED_USER,\n\
-              \         constants.RAPI_USER,\n\
-              \         constants.CONFD_USER,\n\
-              \         constants.WCONFD_USER,\n\
-              \         constants.KVMD_USER,\n\
-              \         constants.LUXID_USER,\n\
-              \         constants.METAD_USER,\n\
-              \         constants.MOND_USER,\n\
-              \        ]\n\
-              \groups = [constants.MASTERD_GROUP,\n\
-              \          constants.NODED_GROUP,\n\
-              \          constants.RAPI_GROUP,\n\
-              \          constants.CONFD_GROUP,\n\
-              \          constants.WCONFD_GROUP,\n\
-              \          constants.KVMD_GROUP,\n\
-              \          constants.LUXID_GROUP,\n\
-              \          constants.METAD_GROUP,\n\
-              \          constants.MOND_GROUP,\n\
-              \          constants.DAEMONS_GROUP,\n\
-              \          constants.ADMIN_GROUP,\n\
-              \         ]\n\
-              \encoded = (users, groups)\n\
-              \print serializer.Dump(encoded)" ""
-    >>= checkPythonResult
-  let deserialised = J.decode py_stdout::J.Result ([String], [String])
-  (py_users, py_groups) <-
-    case deserialised of
-      J.Ok ops -> return ops
-      J.Error msg ->
-        assertFailure ("Unable to decode users/groups: " ++ msg)
-        -- this already raised an expection, but we need it for proper
-        -- types
-         >> fail "Unable to decode users/groups"
-  assertEqual "Mismatch in number of returned users"
-    (length py_users) (length users)
-  assertEqual "Mismatch in number of returned users"
-    (length py_groups) (length groups)
-  mapM_ (uncurry (assertEqual "Different result for users")
-        ) $ zip users py_users
-  mapM_ (uncurry (assertEqual "Different result for groups")
-        ) $ zip groups py_groups
 
 testSuite "Runtime"
           [ 'case_LogFiles
-          , 'case_UsersGroups
           ]
