diff --git a/robovm/src/playn/robovm/RoboAudio.java b/robovm/src/playn/robovm/RoboAudio.java
index <HASH>..<HASH> 100644
--- a/robovm/src/playn/robovm/RoboAudio.java
+++ b/robovm/src/playn/robovm/RoboAudio.java
@@ -163,6 +163,10 @@ public class RoboAudio extends AudioImpl {
     }
   }
 
+  void delete(RoboSoundOAL sound) {
+    alDeleteBuffer(sound.bufferId());
+  }
+
   void setLooping(int sourceIdx, RoboSoundOAL sound, boolean looping) {
     if (active[sourceIdx] == sound) {
       alSourcei(sources[sourceIdx], AL_LOOPING, looping ? AL_TRUE : AL_FALSE);
diff --git a/robovm/src/playn/robovm/RoboSoundOAL.java b/robovm/src/playn/robovm/RoboSoundOAL.java
index <HASH>..<HASH> 100644
--- a/robovm/src/playn/robovm/RoboSoundOAL.java
+++ b/robovm/src/playn/robovm/RoboSoundOAL.java
@@ -68,7 +68,6 @@ public class RoboSoundOAL extends AbstractSound<Integer> {
 
   @Override
   protected void releaseImpl() {
-    // TODO
-    // AL.DeleteBuffer(impl);
+    audio.delete(this);
   }
 }
Delete OAL sounds when released.