diff --git a/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelManager.java b/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelManager.java
index 2b5dc2e2af3474649d22b192fdc662e7a0088d86..2bfaaa8b97dabbd176ae1c8cdf2d698b0e490f39 100644
--- a/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelManager.java
+++ b/com.amd.aparapi/src/java/com/amd/aparapi/internal/kernel/KernelManager.java
@@ -190,7 +190,7 @@ public class KernelManager {
                devices.addAll(gpus);
                break;
             case CPU:
-               devices.add(cpus.get(0));
+               devices.addAll(cpus);
                break;
             case JTP:
                devices.add(JavaDevice.THREAD_POOL);
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 453e07d98441231a4a0482572a8a7e773c4e254c..f8af5bc2f85a596bae8693e30b6590e6c79651b0 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
@@ -1371,11 +1371,12 @@ public class KernelRunner extends KernelRunnerJNI{
                            // args[i].type |= ARG_GLOBAL;
 
                            if (type.getName().startsWith("[L")) {
+                              args[i].setArray(null); // will get updated in updateKernelArrayRefs
                               args[i].setType(args[i].getType()
-                                    | (ARG_OBJ_ARRAY_STRUCT | ARG_WRITE | ARG_READ | ARG_APARAPI_BUFFER));
+                                    | (ARG_ARRAY | ARG_OBJ_ARRAY_STRUCT | ARG_WRITE | ARG_READ));
 
                               if (logger.isLoggable(Level.FINE)) {
-                                 logger.fine("tagging " + args[i].getName() + " as (ARG_OBJ_ARRAY_STRUCT | ARG_WRITE | ARG_READ)");
+                                 logger.fine("tagging " + args[i].getName() + " as (ARG_ARRAY | ARG_OBJ_ARRAY_STRUCT | ARG_WRITE | ARG_READ)");
                               }
                            } else if (type.getName().startsWith("[[")) {