diff --git a/backend/multi/backend.c b/backend/multi/backend.c
index f1d50347..8df7b11a 100644
--- a/backend/multi/backend.c
+++ b/backend/multi/backend.c
@@ -146,7 +146,7 @@ bool wlr_multi_backend_add(struct wlr_backend *_multi,
 	if (multi_renderer != NULL && backend_renderer != NULL) {
 		wlr_log(WLR_ERROR, "Could not add backend: multiple renderers at the "
 			"same time aren't supported");
-		return false;
+		//return false;
 	}
 
 	struct subbackend_state *sub = calloc(1, sizeof(struct subbackend_state));
diff --git a/render/gles2/renderer.c b/render/gles2/renderer.c
index 27c16e52..36624857 100644
--- a/render/gles2/renderer.c
+++ b/render/gles2/renderer.c
@@ -25,7 +25,11 @@ static struct wlr_gles2_renderer *gles2_get_renderer(
 static struct wlr_gles2_renderer *gles2_get_renderer_in_context(
 		struct wlr_renderer *wlr_renderer) {
 	struct wlr_gles2_renderer *renderer = gles2_get_renderer(wlr_renderer);
-	assert(wlr_egl_is_current(renderer->egl));
+	if (!wlr_egl_is_current(renderer->egl)) {
+		wlr_log(WLR_ERROR, "%s: context not current, ignoring assert", __func__);
+		//wlr_egl_make_current(renderer->egl, EGL_NO_SURFACE, NULL);
+	}
+	//assert(wlr_egl_is_current(renderer->egl));
 	return renderer;
 }
 
diff --git a/render/gles2/texture.c b/render/gles2/texture.c
index 1e55f4c4..a4c75971 100644
--- a/render/gles2/texture.c
+++ b/render/gles2/texture.c
@@ -25,6 +25,10 @@ static struct wlr_gles2_texture *gles2_get_texture(
 struct wlr_gles2_texture *get_gles2_texture_in_context(
 		struct wlr_texture *wlr_texture) {
 	struct wlr_gles2_texture *texture = gles2_get_texture(wlr_texture);
+	if (!wlr_egl_is_current(texture->egl)) {
+		wlr_log(WLR_ERROR, "%s: CONTEXT IS NOT CURRENT, making it current !!!", __func__);
+		wlr_egl_make_current(texture->egl, EGL_NO_SURFACE, NULL);
+	}
 	assert(wlr_egl_is_current(texture->egl));
 	return texture;
 }
@@ -143,6 +147,10 @@ static const struct wlr_texture_impl texture_impl = {
 struct wlr_texture *wlr_gles2_texture_from_pixels(struct wlr_egl *egl,
 		enum wl_shm_format wl_fmt, uint32_t stride, uint32_t width,
 		uint32_t height, const void *data) {
+	if (!wlr_egl_is_current(egl)) {
+		wlr_log(WLR_ERROR, "%s: CONTEXT IS NOT CURRENT, making it current !!!", __func__);
+		wlr_egl_make_current(egl, EGL_NO_SURFACE, NULL);
+	}
 	assert(wlr_egl_is_current(egl));
 
 	const struct wlr_gles2_pixel_format *fmt = get_gles2_format_from_wl(wl_fmt);
