diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
index 513fdec..06809fa 100644
--- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
@@ -304,29 +304,14 @@
     }
   }
 
-  /*
-   * render_rect is the application requested size so choose that first if
-   * available.
-   * Else choose the already chosen size if set
-   * Else choose the preferred size if set
-   * Else choose a default value
-   */
-  if (window_egl->window.render_rect.w > 0)
-    width = window_egl->window.render_rect.w;
-  else if (window_egl->window.window_width > 0)
+  if (window_egl->window.window_width > 0)
     width = window_egl->window.window_width;
-  else if (window_egl->window.preferred_width > 0)
-    width = window_egl->window.preferred_width;
   else
     width = 320;
   window_egl->window.window_width = width;
 
-  if (window_egl->window.render_rect.h > 0)
-    height = window_egl->window.render_rect.h;
-  else if (window_egl->window.window_height > 0)
+  if (window_egl->window.window_height > 0)
     height = window_egl->window.window_height;
-  else if (window_egl->window.preferred_height > 0)
-    height = window_egl->window.preferred_height;
   else
     height = 240;
   window_egl->window.window_height = height;
@@ -359,13 +344,6 @@
 
   window_egl->window.preferred_width = width;
   window_egl->window.preferred_height = height;
-  if (window_egl->window.render_rect.w < 0
-      && window_egl->window.render_rect.h < 0) {
-    if (window_egl->window.window_height != height
-        || window_egl->window.window_width != width) {
-      window_resize (window_egl, width, height);
-    }
-  }
 }
 
 static void
@@ -394,7 +372,6 @@
 static void
 gst_gl_window_wayland_egl_init (GstGLWindowWaylandEGL * window)
 {
-  window->window.render_rect.w = window->window.render_rect.h = -1;
 }
 
 /* Must be called in the gl thread */
@@ -618,8 +595,6 @@
   }
 
   window_resize (render->window_egl, render->rect.w, render->rect.h);
-
-  render->window_egl->window.render_rect = render->rect;
 }
 
 static gboolean
diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
index d96fa47..a643617 100644
--- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
@@ -75,7 +75,6 @@
   int window_x, window_y;
   int preferred_width, preferred_height;
   gboolean preferred_fullscreen;
-  GstVideoRectangle render_rect;
 };
 
 struct _GstGLWindowWaylandEGL {
