diff --git a/pixelgl/window.go b/pixelgl/window.go
index e501cc543adc09c3350e7c52957adefda8cb391a..ddc5426c93055cb878a5ac6ba8d38a968873a3c5 100644
--- a/pixelgl/window.go
+++ b/pixelgl/window.go
@@ -116,6 +116,7 @@ func NewWindow(cfg WindowConfig) (*Window, error) {
 
 		// enter the OpenGL context
 		w.begin()
+		glhf.Init()
 		w.end()
 
 		return nil
@@ -362,7 +363,6 @@ func (w *Window) CursorVisible() bool {
 func (w *Window) begin() {
 	if currWin != w {
 		w.window.MakeContextCurrent()
-		glhf.Init()
 		currWin = w
 	}
 }