diff --git a/src/backend.c b/src/backend.c
index 4eb0ec317fc333aeb18a65c9c4aee82096a0f1f5..f7cfb922c8f8d5831d543f30632e4cabd2fb4c8e 100644
--- a/src/backend.c
+++ b/src/backend.c
@@ -4,7 +4,7 @@
 ||| See the files COPYING and DISCLAIMER for more information.
 \*/
 #include "global.h"
-RCSID("$Id: backend.c,v 1.5 1996/11/14 01:24:06 hubbe Exp $");
+RCSID("$Id: backend.c,v 1.6 1996/11/22 00:05:41 hubbe Exp $");
 #include "backend.h"
 #include <errno.h>
 #ifdef HAVE_SYS_TYPES_H
@@ -200,6 +200,9 @@ void backend()
     my_add_timeval(&next_timeout, &current_time);
 
     call_callback(& backend_callbacks, (void *)0);
+
+    check_threads_etc();
+
     sets=selectors;
 
     alloca(0);			/* Do garbage collect */
@@ -222,8 +225,6 @@ void backend()
     GETTIMEOFDAY(&current_time);
     THREADS_DISALLOW();
 
-    check_threads_etc();
-    
     if(i>=0)
     {
       for(i=0; i<max_fd+1; i++)