private void loop() {.... buffer.clear(java.awt.Color.black); theWorld.renderScene(buffer); theWorld.draw(buffer); buffer.displayGLOnly(); canvas.repaint(); Thread.yield(); } buffer.dispose();//CAUSES THE PROBLEM this.dispose(); buffer.disableRenderer(IRenderer.RENDERER_OPENGL); System.exit(0);