diff --git a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/device/Device.java b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/device/Device.java
index f1c2f68e09c0d578956ed0b43c74b6360a368ea8..3799c8918c68821cd95ff70197b52e3696d68429 100644
--- a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/device/Device.java
+++ b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/device/Device.java
@@ -39,13 +39,13 @@ public abstract class Device{
 
    public static Device getDevice(String platformName, String deviceTypeName, int deviceId)
    {
-      List<OpenCLPlatform> platforms = (new OpenCLPlatform()).getOpenCLPlatforms();
+      List<OpenCLPlatform> platforms = (new OpenCLPlatform()).getOpenCLPlatformsFilteredBy(platformName); //getOpenCLPlatforms();
 
       int platformc = 0;
       for (OpenCLPlatform platform : platforms) 
       {
-         if(platform.getName().contains(platformName))
-         {
+         //if(platform.getName().contains(platformName))
+         //{
 
            System.out.println("Platform " + platformc + "{");
 
@@ -104,7 +104,7 @@ public abstract class Device{
 
        }
 
-     }
+     //}
      // return not found !!!
      return null;
    }
diff --git a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLPlatform.java b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLPlatform.java
index 178b1a196d44e038d8a79cbc3e4a221c94bbf460..99e1b2443e2528bc0c3b3328b694e30d75d31ef9 100644
--- a/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLPlatform.java
+++ b/src/aparapi/com.amd.aparapi/src/java/com/amd/aparapi/internal/opencl/OpenCLPlatform.java
@@ -81,13 +81,17 @@ public class OpenCLPlatform extends OpenCLJNI{
     		  System.out.println("Filtering Platforms using: " + filter );
     		  for (Iterator<OpenCLPlatform> iterator = platformList.iterator(); iterator.hasNext(); ) 
     		  {
-    			  String platformIName = iterator.next().getName();
-    			  System.out.println("Checking Platform: " + platformIName );
-    			  if (!platformIName.contains(filter)) 
+    			  String platformName = iterator.next().getName();
+    			  if (filter.equals("*") || platformName.contains(filter)) 
     			  {
-    				  System.out.println("Filtering Out Platform: " + platformIName);
+                                  System.out.println("Adding Platform: " + platformName );
+    			  }
+                          else
+                          {
+    				  System.out.println("Discarding Platform: " + platformName);
     				  iterator.remove();
-    			  }
+                          }
+
     		  }
     	  }
     	  return (platformList);