diff --git a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
index 06809fa..513fdec 100644
--- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.c
@@ -304,14 +304,29 @@
     }
   }
 
-  if (window_egl->window.window_width > 0)
+  /*
+   * 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)
     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.window_height > 0)
+  if (window_egl->window.render_rect.h > 0)
+    height = window_egl->window.render_rect.h;
+  else 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;
@@ -344,6 +359,13 @@
 
   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
@@ -372,6 +394,7 @@
 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 */
@@ -595,6 +618,8 @@
   }
 
   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 a643617..d96fa47 100644
--- a/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
+++ b/gst-libs/gst/gl/wayland/gstglwindow_wayland_egl.h
@@ -75,6 +75,7 @@
   int window_x, window_y;
   int preferred_width, preferred_height;
   gboolean preferred_fullscreen;
+  GstVideoRectangle render_rect;
 };
 
 struct _GstGLWindowWaylandEGL {
