diff --git a/src/server/ChangeLog b/src/server/ChangeLog
index 3fd38a297d1babf5758d44d50f69442c2d5cba49..e4fade4de20c40fb7b560caa8573ef9c3bb38b0a 100644
--- a/src/server/ChangeLog
+++ b/src/server/ChangeLog
@@ -1,3 +1,8 @@
+Thu Mar 12 04:30:17 1992  Per Cederqvist  (ceder@lysator)
+
+	* membership.c (get_unread_confs): You must be logged in to use
+	  this call.
+
 Mon Mar  9 16:33:45 1992  Per Cederqvist  (ceder@robin)
 
 	* DATAFILE_NAME (server-config.c): Added a comment.
diff --git a/src/server/membership.c b/src/server/membership.c
index ac627c52b526c7e2bd17cbf30d744fd6b3387f60..1b6496723fa5a666a27d89e20fb92d0e52406ac1 100644
--- a/src/server/membership.c
+++ b/src/server/membership.c
@@ -1,5 +1,5 @@
 /*
- * $Id: membership.c,v 0.8 1991/12/16 23:56:33 ceder Exp $
+ * $Id: membership.c,v 0.9 1992/03/12 03:36:52 ceder Exp $
  * Copyright (C) 1991  Lysator Academic Computer Association.
  *
  * This file is part of the LysKOM server.
@@ -29,7 +29,7 @@
  * (The person/conf relation).
  */
 
-static char *rcsid = "$Id: membership.c,v 0.8 1991/12/16 23:56:33 ceder Exp $";
+static char *rcsid = "$Id: membership.c,v 0.9 1992/03/12 03:36:52 ceder Exp $";
 
 #include <time.h>
 #include <stdlib.h>
@@ -668,8 +668,9 @@ fast_access_perm(Conf_no  victim,
 	    return member;
     }
 
-     /* Only read in conference struct when really necessary. */
-    if ( (conf_type=cached_get_conf_type( victim )).secret )
+    /* Only read in conference struct when really necessary. */
+    conf_type = cached_get_conf_type (victim);
+    if ( conf_type.secret )
 	return access_perm(victim, NULL, viewer, viewer_p);
 
     if ( conf_type.rd_prot )
@@ -1163,6 +1164,7 @@ get_unread_confs(Pers_no       pers_no,
     Membership *confs;
     u_short n;
 
+    CHK_LOGIN(FAILURE);
     GET_P_STAT(pers_p, pers_no, FAILURE);
 
     result->conf_nos = tmp_alloc (pers_p->conferences.no_of_confs
@@ -1173,8 +1175,10 @@ get_unread_confs(Pers_no       pers_no,
     	 n < pers_p->conferences.no_of_confs;
 	 n++, confs++ )
     {
-	if ( confs->last_text_read
-	    < cached_get_highest_local_no( confs->conf_no ) )
+	if ((confs->last_text_read
+	     < cached_get_highest_local_no (confs->conf_no))
+	    && (fast_access_perm(confs->conf_no, NULL, ACTPERS, ACT_P)
+		> read_protected))
 	{
 	    result->conf_nos[ result->no_of_confs++ ] = confs->conf_no;
 	}