Index: /trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_bufferobject.c
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_bufferobject.c	(revision 22830)
+++ /trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_bufferobject.c	(revision 22831)
@@ -55,4 +55,10 @@
     CRBufferObject *pObj = (CRBufferObject *)data;
     if (pObj->data) crFree(pObj->data);
+
+    if (diff_api.AlphaFunc)
+    {
+        diff_api.DeleteBuffersARB(1, &pObj->name);
+    }
+
     crFree(pObj);
 }
Index: /trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_framebuffer.c
===================================================================
--- /trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_framebuffer.c	(revision 22830)
+++ /trunk/src/VBox/GuestHost/OpenGL/state_tracker/state_framebuffer.c	(revision 22831)
@@ -44,4 +44,28 @@
 }
 
+static void crStateFreeFBO(void *data)
+{
+    CRFramebufferObject *pObj = (CRFramebufferObject *)data;
+
+    if (diff_api.AlphaFunc)
+    {
+        diff_api.DeleteFramebuffersEXT(1, &pObj->id);
+    }
+
+    crFree(pObj);
+}
+
+static void crStateFreeRBO(void *data)
+{
+    CRRenderbufferObject *pObj = (CRRenderbufferObject *)data;
+
+    if (diff_api.AlphaFunc)
+    {
+        diff_api.DeleteRenderbuffersEXT(1, &pObj->id);
+    }
+
+    crFree(pObj);
+}
+
 DECLEXPORT(void) STATE_APIENTRY
 crStateFramebufferObjectDestroy(CRContext *ctx)
@@ -52,6 +76,6 @@
     fbo->renderbuffer = NULL;
 
-    crFreeHashtable(fbo->framebuffers, crFree);
-    crFreeHashtable(fbo->renderbuffers, crFree);
+    crFreeHashtable(fbo->framebuffers, crStateFreeFBO);
+    crFreeHashtable(fbo->renderbuffers, crStateFreeRBO);
 }
 
@@ -246,5 +270,5 @@
         {
             fbo->framebuffer = (CRFramebufferObject*) crCalloc(sizeof(CRFramebufferObject));
-            CRSTATE_FBO_CHECKERR(!fbo->renderbuffer, GL_OUT_OF_MEMORY, "glBindFramebufferEXT");
+            CRSTATE_FBO_CHECKERR(!fbo->framebuffer, GL_OUT_OF_MEMORY, "glBindFramebufferEXT");
             fbo->framebuffer->id = framebuffer;
             crStateInitFrameBuffer(fbo->framebuffer);
