diff --git a/gl_compositor.cpp b/gl_compositor.cpp
index eb255e6..dfe407f 100644
--- a/gl_compositor.cpp
+++ b/gl_compositor.cpp
@@ -149,7 +149,8 @@
     hwc_drm_bo bo;
   };
 
-  GLComposition(GLCompositor *owner) : compositor(owner), target_handle(-1) {
+  GLComposition(GLCompositor *owner, Importer *imp)
+      : compositor(owner), importer(imp), target_handle(-1) {
   }
 
   virtual ~GLComposition() {
@@ -188,7 +189,7 @@
     layer_datum.layer = *layer;
     layer_datum.bo = *bo;
 
-    return 0;
+    return importer->ReleaseBuffer(bo);
   }
 
   virtual unsigned GetRemainingLayers(int display, unsigned num_needed) const {
@@ -197,6 +198,7 @@
   }
 
   GLCompositor *compositor;
+  Importer *importer;
   int target_handle;
   std::vector<LayerData> layer_data;
 };
@@ -532,12 +534,12 @@
   }
 }
 
-Composition *GLCompositor::CreateComposition() {
+Composition *GLCompositor::CreateComposition(Importer *importer) {
   if (priv_->current_target >= 0 &&
       (unsigned)priv_->current_target < priv_->targets.size()) {
     GLTarget *target = &priv_->targets[priv_->current_target];
     if (target->is_some()) {
-      GLComposition *composition = new GLComposition(this);
+      GLComposition *composition = new GLComposition(this, importer);
       composition->target_handle = priv_->current_target;
       target->composition_count++;
       priv_->compositions.push_back(composition);
