Index: lib/lck.c
===================================================================
--- lib/lck.c	(revision 2097)
+++ lib/lck.c	(working copy)
@@ -332,7 +332,7 @@
 			if (dispatchFlags == CPG_DISPATCH_ALL) {
 				break;
 			} else {
-				continue;
+				goto dispatch_continue;
 			}
 		}
 		if (error != CS_OK) {
@@ -345,7 +345,7 @@
 		switch (dispatch_data->id) {
 		case MESSAGE_RES_LCK_RESOURCEOPEN_CALLBACK:
 			if (callbacks.saLckResourceOpenCallback == NULL) {
-				continue;
+				goto dispatch_continue;
 			}
 			res_lib_lck_resourceopen_callback =
 				(struct res_lib_lck_resourceopen_callback *)dispatch_data;
@@ -374,7 +374,7 @@
 
 		case MESSAGE_RES_LCK_LOCKGRANT_CALLBACK:
 			if (callbacks.saLckLockGrantCallback == NULL) {
-				continue;
+				goto dispatch_continue;
 			}
 			res_lib_lck_lockgrant_callback =
 				(struct res_lib_lck_lockgrant_callback *)dispatch_data;
@@ -421,7 +421,7 @@
 
 		case MESSAGE_RES_LCK_LOCKWAITER_CALLBACK:
 			if (callbacks.saLckLockWaiterCallback == NULL) {
-				continue;
+				goto dispatch_continue;
 			}
 			res_lib_lck_lockwaiter_callback =
 				(struct res_lib_lck_lockwaiter_callback *)dispatch_data;
@@ -451,7 +451,7 @@
 
 		case MESSAGE_RES_LCK_RESOURCEUNLOCK_CALLBACK:
 			if (callbacks.saLckResourceUnlockCallback == NULL) {
-				continue;
+				goto dispatch_continue;
 			}
 			res_lib_lck_resourceunlock_callback =
 				(struct res_lib_lck_resourceunlock_callback *)dispatch_data;
@@ -498,6 +498,7 @@
 		default:
 			break;
 		}
+	dispatch_continue:
 		coroipcc_dispatch_put (lckInstance->ipc_handle);
 
 		switch (dispatchFlags) {
