                                                                           [screen-width screen-height 1.0]
                                                                           mv-matrix-buffer))
           (except-gl-errors (str "u-MVMatrix - glUniformMatrix4  " u-MVMatrix))
+          ; Bind VAO
+          (GL30/glBindVertexArray vao-id)
+          (except-gl-errors (str "vao bind - glBindVertexArray " vao-id))
           ; Setup vertex buffer
           ;(GL15/glBindBuffer GL15/GL_ARRAY_BUFFER, vertices-vbo-id)
           (except-gl-errors (str "vbo bind - glBindBuffer " vertices-vbo-id))

    (reset! cursor-xy [x y]))
  (refresh! [_]
    (with-gl-context gl-lock
      (let [{{:keys [vertices-vbo-id vertices-count texture-coords-vbo-id]} :buffers
             {:keys [font-texture glyph-texture fg-texture bg-texture]} :textures
             program-id :program-id
             {:keys [u-MVMatrix u-PMatrix u-font u-glyphs u-fg u-bg font-size term-dim font-tex-dim

                            :character->col-row (character->col-row (character-idxs character-width (displayable-characters @normal-font)))
                            :buffers {:vertices-vbo-id vertices-vbo-id
                                      :vertices-count vertices-count
                                      :texture-coords-vbo-id texture-coords-vbo-id
                                      :vao-id vao-id}
                            :textures {:glyph-texture glyph-texture
                                       :font-texture font-texture
                                       :fg-texture fg-texture
