diff --git a/src/modules/files/efuns.c b/src/modules/files/efuns.c
index 72b9456867ff742332dbd874fc7abd5a696baa0d..055fb90cfa36e43c689a4ef948a7dcb4972d8996 100644
--- a/src/modules/files/efuns.c
+++ b/src/modules/files/efuns.c
@@ -266,8 +266,8 @@ void f_rm(INT32 args)
 
   s = sp[-args].u.string->str;
   
-  i=lstat(s, &st) != -1;
   THREADS_ALLOW();
+  i=lstat(s, &st) != -1;
   if(i)
   {
     if(S_IFDIR == (S_IFMT & st.st_mode))