diff --git a/src/mod/applications/mod_conference/conference_video.c b/src/mod/applications/mod_conference/conference_video.c
index 87a0d24b93..5c638c5b89 100644
--- a/src/mod/applications/mod_conference/conference_video.c
+++ b/src/mod/applications/mod_conference/conference_video.c
@@ -2407,7 +2407,7 @@ void *SWITCH_THREAD_FUNC conference_video_muxing_thread_run(switch_thread_t *thr
 			}
 
 			//VIDFLOOR
-			if (canvas->layout_floor_id > -1 && imember->id == conference->video_floor_holder &&
+			if (conference->canvas_count == 1 && canvas->layout_floor_id > -1 && imember->id == conference->video_floor_holder &&
 				imember->video_layer_id != canvas->layout_floor_id) {
 				conference_video_attach_video_layer(imember, canvas, canvas->layout_floor_id);
 			}
@@ -3464,6 +3464,10 @@ void conference_video_set_floor_holder(conference_obj_t *conference, conference_
 		conference_utils_clear_flag(conference, CFLAG_VID_FLOOR_LOCK);
 	}
 
+	if (conference->canvas_count > 1) {
+		return;
+	}
+
 	if (member && member->video_reservation_id) {
 		/* no video floor when a reservation id is set */
 		return;