diff --git a/src/switch_core_media_bug.c b/src/switch_core_media_bug.c
index 28f461c3f1..681bd4d173 100644
--- a/src/switch_core_media_bug.c
+++ b/src/switch_core_media_bug.c
@@ -565,6 +565,9 @@ static void *SWITCH_THREAD_FUNC video_bug_thread(switch_thread_t *thread, void *
 
 			img = (switch_image_t *) pop;
 			
+			w = img->d_w;
+			h = img->d_h;
+
 			if (other_q) {
 				while(switch_queue_size(other_q) > 0) {
 					if ((status = switch_queue_trypop(other_q, &pop)) == SWITCH_STATUS_SUCCESS) {
@@ -574,12 +577,7 @@ static void *SWITCH_THREAD_FUNC video_bug_thread(switch_thread_t *thread, void *
 						}
 					}
 				}
-			}
 
-			w = img->d_w;
-			h = img->d_h;
-			
-			if (other_q) {
 				if (other_img) {
 					if (other_img->d_w != w || other_img->d_h != h) {
 						switch_image_t *tmp_img = NULL;
@@ -602,14 +600,11 @@ static void *SWITCH_THREAD_FUNC video_bug_thread(switch_thread_t *thread, void *
 				if (other_img) {
 					switch_img_patch(IMG, other_img, w / 2, 0);
 				}
-				
-			} else {
-				IMG = img;
 			}
 
 			switch_thread_rwlock_rdlock(bug->session->bug_rwlock);
 			//switch_mutex_lock(bug->read_mutex);
-			frame.img = IMG;
+			frame.img = other_q ? IMG : img;
 			bug->ping_frame = &frame;
 			if (bug->callback) {
 				if (bug->callback(bug, bug->user_data, SWITCH_ABC_TYPE_STREAM_VIDEO_PING) == SWITCH_FALSE