Index: less.module
===================================================================
--- less.module	(revision 16595)
+++ less.module	(working copy)
@@ -195,7 +195,18 @@
   $semaphore = variable_get('cron_semaphore', FALSE);
   if (!$semaphore) {
     // Delete all generated files.
-    _less_recursive_delete(file_directory_path() . '/less');
+    $old = file_directory_path() . '/less';
+    if (file_exists($old)) {
+	    $new = file_directory_path() . '/less-old-' . (string) microtime(TRUE);
+	  	$success = rename($old,$new);
+	  	if ($success) {
+ 	    	_less_recursive_delete($new);
+	  	} else {
+	  		watchdog('LESS', 'LESS directory @old could not be renamed to @new, this probably happened already in another thread', array('@old'=>$old,'@new'=>$new), WATCHDOG_WARNING);
+	  	}
+    } else {
+    	watchdog('LESS', 'LESS directory @old does not exist yet', array('@old'=>$old), WATCHDOG_INFO);
+    }
   }
   return array();
 }
