diff --git a/pixelgl/thread.go b/pixelgl/thread.go
index 8b5a6649c66a69097ec24a880f4994763448ee17..3f5d1dc20ba82329bb04e8c227cf19bcdc39fb1f 100644
--- a/pixelgl/thread.go
+++ b/pixelgl/thread.go
@@ -160,8 +160,8 @@ func getLastGLErr() error {
 	for e := gl.GetError(); e != gl.NO_ERROR; e = gl.GetError() {
 		err = e
 	}
-	if err == gl.NO_ERROR {
-		return nil
+	if err != gl.NO_ERROR {
+		return GLError(err)
 	}
-	return GLError(err)
+	return nil
 }