diff --git a/secure/master/domain.c b/secure/master/domain.c
index 984133f..ade06ba 100644
--- a/secure/master/domain.c
+++ b/secure/master/domain.c
@@ -8,9 +8,9 @@
 {
   string *domains;
   int i;
-  
+
   if (!find_userinfo(user)||
-      !pointerp(domains=get_userinfo(user)[USER_DOMAIN+1]))
+      !pointerp(domains=query_userlist(user, USER_DOMAIN)))
     return 0;
   return (member(domains,domain) != -1);
 }
@@ -29,7 +29,7 @@
         call_other(SIMUL_EFUN_FILE, "secure_level") < GOD_LVL) ||
         !find_userinfo(user))
     return 0;
-  domains=get_userinfo(user)[USER_DOMAIN+1];
+  domains=query_userlist(user, USER_DOMAIN);
   if (!domains) 
     set_domains(user,({dom}));
   else
@@ -51,7 +51,7 @@
 
   if (!IS_GOD(geteuid(previous_object()))
       ||!find_userinfo(user)
-      ||!(domains=get_userinfo(user)[USER_DOMAIN+1])
+      ||!(domains=query_userlist(user, USER_DOMAIN))
       || member(domains,dom)==-1)
     return 0;
   domains-=({dom});
diff --git a/secure/master/guild.c b/secure/master/guild.c
index 9f4e839..d0c025c 100644
--- a/secure/master/guild.c
+++ b/secure/master/guild.c
@@ -16,7 +16,7 @@
   int i;
 
   if (!find_userinfo(user)||
-      !pointerp(guilds=get_userinfo(user)[USER_GUILD-1]))
+      !pointerp(guilds=query_userlist(user, USER_GUILD)))
     return 0;
   
   return (member(guilds,guild) != -1);
@@ -31,7 +31,7 @@
       !find_userinfo(user))
     return 0;
 
-  guilds=get_userinfo(user)[USER_GUILD-1];
+  guilds=query_userlist(user, USER_GUILD);
   if (!guilds)
     set_guilds(user, ({ guild }) );
   else {
@@ -47,7 +47,7 @@
 
   if (!IS_GOD(geteuid(previous_object()))
       ||!find_userinfo(user)
-      ||!(guilds=get_userinfo(user)[USER_GUILD-1])
+      ||!(guilds=query_userlist(user, USER_GUILD))
       || member(guilds,guild)==-1)
     return 0;
   guilds -= ({ guild });
