diff --git a/pixelgl/glframe.go b/pixelgl/glframe.go
index 09c4b16628d7eadacb5c011ed48af3fab0b94557..7eac7a10cf87f4f73baafeff1a7d7c9b5e55c010 100644
--- a/pixelgl/glframe.go
+++ b/pixelgl/glframe.go
@@ -24,6 +24,10 @@ func NewGLFrame(bounds pixel.Rect) *GLFrame {
 
 // SetBounds resizes the GLFrame to the new bounds.
 func (gf *GLFrame) SetBounds(bounds pixel.Rect) {
+	if bounds == gf.Bounds() {
+		return
+	}
+
 	mainthread.Call(func() {
 		oldF := gf.frame