diff --git a/src/main/java/com/aparapi/device/JavaDevice.java b/src/main/java/com/aparapi/device/JavaDevice.java
index 4b687dd6b48faad5e319e0ee1781b94929d40c74..a392cdf162579f1a51d23f0e5d815600f1a3c2e3 100644
--- a/src/main/java/com/aparapi/device/JavaDevice.java
+++ b/src/main/java/com/aparapi/device/JavaDevice.java
@@ -15,7 +15,7 @@
  */
 package com.aparapi.device;
 
-public class JavaDevice extends Device {
+public class JavaDevice extends Device implements Comparable<Device> {
 
    public static final JavaDevice THREAD_POOL = new JavaDevice(TYPE.JTP, "Java Thread Pool", -3);
    public static final JavaDevice ALTERNATIVE_ALGORITHM = new JavaDevice(TYPE.ALT, "Java Alternative Algorithm", -2);
diff --git a/src/main/java/com/aparapi/device/OpenCLDevice.java b/src/main/java/com/aparapi/device/OpenCLDevice.java
index 5288e38172b8275225a6abb1225dc8abf7fec3ac..a105540e54ba508c8dac8e79e5bfc7424d847de4 100644
--- a/src/main/java/com/aparapi/device/OpenCLDevice.java
+++ b/src/main/java/com/aparapi/device/OpenCLDevice.java
@@ -45,7 +45,7 @@ import com.aparapi.opencl.OpenCL.Local;
 import com.aparapi.opencl.OpenCL.Resource;
 import com.aparapi.opencl.OpenCL.Source;
 
-public class OpenCLDevice extends Device{
+public class OpenCLDevice extends Device implements Comparable<Device> {
 
    private final OpenCLPlatform platform;