diff --git a/src/mod/applications/mod_callcenter/mod_callcenter.c b/src/mod/applications/mod_callcenter/mod_callcenter.c
index b02926f9b6..47e419380c 100644
--- a/src/mod/applications/mod_callcenter/mod_callcenter.c
+++ b/src/mod/applications/mod_callcenter/mod_callcenter.c
@@ -587,6 +587,8 @@ char *cc_execute_sql2str(cc_queue_t *queue, switch_mutex_t *mutex, char *sql, ch
 
 	if (mutex) {
 		switch_mutex_lock(mutex);
+	} else {
+		switch_mutex_lock(globals.mutex);
 	}
 
 	if (!(dbh = cc_get_db_handle())) {
@@ -601,6 +603,8 @@ end:
 
 	if (mutex) {
 		switch_mutex_unlock(mutex);
+	} else {
+		switch_mutex_unlock(globals.mutex);
 	}
 
 	return ret;
@@ -613,6 +617,8 @@ static switch_status_t cc_execute_sql(cc_queue_t *queue, char *sql, switch_mutex
 
 	if (mutex) {
 		switch_mutex_lock(mutex);
+	} else {
+		switch_mutex_lock(globals.mutex);
 	}
 
 	if (!(dbh = cc_get_db_handle())) {
@@ -628,6 +634,8 @@ end:
 
 	if (mutex) {
 		switch_mutex_unlock(mutex);
+	} else {
+		switch_mutex_unlock(globals.mutex);
 	}
 
 	return status;
@@ -641,6 +649,8 @@ static switch_bool_t cc_execute_sql_callback(cc_queue_t *queue, switch_mutex_t *
 
 	if (mutex) {
 		switch_mutex_lock(mutex);
+	} else {
+		switch_mutex_lock(globals.mutex);
 	}
 
 	if (!(dbh = cc_get_db_handle())) {
@@ -661,6 +671,8 @@ end:
 
 	if (mutex) {
 		switch_mutex_unlock(mutex);
+	} else {
+		switch_mutex_unlock(globals.mutex);
 	}
 
 	return ret;