diff --git a/pseudo.h b/pseudo.h
index b6c13f2..44ee991 100644
--- a/pseudo.h
+++ b/pseudo.h
@@ -29,6 +29,7 @@ extern void pseudo_debug_flags_finalize(void);
 extern unsigned long pseudo_util_debug_flags;
 extern unsigned long pseudo_util_evlog_flags;
 extern int pseudo_util_debug_fd;
+extern int pseudo_util_evlog_fd;
 extern int pseudo_disabled;
 extern int pseudo_allow_fsync;
 extern int pseudo_diag(char *, ...) __attribute__ ((format (printf, 1, 2)));
diff --git a/pseudo_client.c b/pseudo_client.c
index 085a8b3..7f80a3b 100644
--- a/pseudo_client.c
+++ b/pseudo_client.c
@@ -1968,16 +1968,24 @@ pseudo_client_op(pseudo_op_t op, int access, int fd, int dirfd, const char *path
 		startfd = fd;
 		if (pseudo_util_debug_fd >= startfd)
 			startfd = pseudo_util_debug_fd + 1;
+		if (pseudo_util_evlog_fd >= startfd)
+			startfd = pseudo_util_evlog_fd + 1;
+		if (pseudo_prefix_dir_fd >= startfd)
+			startfd = pseudo_prefix_dir_fd + 1;
 		if (pseudo_localstate_dir_fd >= startfd)
 			startfd = pseudo_localstate_dir_fd + 1;
 		if (pseudo_pwd_fd >= startfd)
 			startfd = pseudo_pwd_fd + 1;
+		if (pseudo_pwd_lck_fd >= startfd)
+			startfd = pseudo_pwd_lck_fd + 1;
 		if (pseudo_grp_fd >= startfd)
 			startfd = pseudo_grp_fd + 1;
 		if (connect_fd >= startfd)
 			startfd = connect_fd + 1;
 		for (i = fd; i < startfd; ++i) {
-			if (i == pseudo_util_debug_fd || i == pseudo_localstate_dir_fd || i == pseudo_pwd_fd ||
+			if (i == pseudo_util_debug_fd || i == pseudo_util_evlog_fd ||
+					i == pseudo_prefix_dir_fd || i == pseudo_localstate_dir_fd ||
+					i == pseudo_pwd_fd || i == pseudo_pwd_lck_fd ||
 					i == pseudo_grp_fd || i == connect_fd)
 				continue;
 			pseudo_client_close(i);
@@ -1994,10 +2002,16 @@ pseudo_client_op(pseudo_op_t op, int access, int fd, int dirfd, const char *path
 		startfd = fd;
 		if (pseudo_util_debug_fd >= startfd)
 			startfd = pseudo_util_debug_fd + 1;
+		if (pseudo_util_evlog_fd >= startfd)
+			startfd = pseudo_util_evlog_fd + 1;
+		if (pseudo_prefix_dir_fd >= startfd)
+			startfd = pseudo_prefix_dir_fd + 1;
 		if (pseudo_localstate_dir_fd >= startfd)
 			startfd = pseudo_localstate_dir_fd + 1;
 		if (pseudo_pwd_fd >= startfd)
 			startfd = pseudo_pwd_fd + 1;
+		if (pseudo_pwd_lck_fd >= startfd)
+			startfd = pseudo_pwd_lck_fd + 1;
 		if (pseudo_grp_fd >= startfd)
 			startfd = pseudo_grp_fd + 1;
 		if (connect_fd >= startfd)
@@ -2006,7 +2020,9 @@ pseudo_client_op(pseudo_op_t op, int access, int fd, int dirfd, const char *path
 		 * with, so close those by hand and skip the ones we need
 		 */
 		for (i = fd; i < startfd && (unsigned int) i <= close_range_maxfd; ++i) {
-			if (i == pseudo_util_debug_fd || i == pseudo_localstate_dir_fd || i == pseudo_pwd_fd ||
+			if (i == pseudo_util_debug_fd || i == pseudo_util_evlog_fd ||
+					i == pseudo_prefix_dir_fd || i == pseudo_localstate_dir_fd ||
+					i == pseudo_pwd_fd || i == pseudo_pwd_lck_fd ||
 					i == pseudo_grp_fd || i == connect_fd)
 				continue;
 			pseudo_client_close(i);
