--- src/core/CLucene/store/FSDirectory.cpp
+++ src/core/CLucene/store/FSDirectory.cpp
@@ -219,9 +219,8 @@
 		_CLDECDELETE(handle);
 
 		//printf("handle=%d\n", handle->__cl_refcount);
-		if ( dounlock ){
 			mutex->unlock();
-		}else{
+		if ( !dounlock ){
 			delete mutex;
 		}
 	}