diff --git a/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelRunner.java b/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelRunner.java
index 9bb09c29f9703dc22cda1de09f451496d7546cb6..d99809e9c3353db214658321b92e41b731dea54a 100644
--- a/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelRunner.java
+++ b/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelRunner.java
@@ -190,6 +190,7 @@ public class KernelRunner extends KernelRunnerJNI{
    public synchronized void dispose() {
       if (kernel.isRunningCL()) {
          disposeJNI(jniContextHandle);
+         seenBinaryKeys.clear();
       }
       // We are using a shared pool, so there's no need no shutdown it when kernel is disposed
       //      threadPool.shutdownNow();