Index: testsuite/src/main/org/jboss/test/util/test/ThreadPoolRunnableUnitTestCase.java
===================================================================
--- testsuite/src/main/org/jboss/test/util/test/ThreadPoolRunnableUnitTestCase.java	(revision 113651)
+++ testsuite/src/main/org/jboss/test/util/test/ThreadPoolRunnableUnitTestCase.java	(working copy)
@@ -26,6 +26,7 @@
 import java.util.HashSet;
 import java.util.ArrayList;
 
+import org.jboss.test.util.test.jbpapp9887.JavaVersionChecker;
 import org.jboss.util.threadpool.BasicThreadPool;
 import org.jboss.util.threadpool.ThreadPoolFullException;
 import org.jboss.util.threadpool.BlockingMode;
@@ -249,7 +250,12 @@
     */
    public void testRunnableTimeoutWithSpinLoop() throws Exception
    {
-      log.debug("testRunnableTimeoutWithSpinLoop");
+      if (JavaVersionChecker.isIBM() && JavaVersionChecker.minorVersion() >= 7)
+      {
+    	  log.debug("System is running on IBM JDK 7 or greater. Skipping spin loop test.");
+    	  return;
+      }
+      log.debug("System is NOT running on IBM JDK 7, proceeding with testRunnableTimeoutWithSpinLoop.");
       BasicThreadPool pool = new BasicThreadPool();
       pool.setMaximumQueueSize(1);
       pool.setMaximumPoolSize(1);
@@ -278,7 +284,12 @@
     */
    public void testRunnableTimeoutWithSpinLoop2() throws Exception
    {
-      log.debug("testRunnableTimeoutWithSpinLoop2");
+      if (JavaVersionChecker.isIBM() && JavaVersionChecker.minorVersion() >= 7)
+      {
+    	  log.debug("System is running on IBM JDK 7 or greater. Skipping spin loop test.");
+    	  return;
+      }
+      log.debug("System is NOT running on IBM JDK 7, proceeding with testRunnableTimeoutWithSpinLoop2.");
       BasicThreadPool pool = new BasicThreadPool();
       pool.setMaximumQueueSize(1);
       pool.setMaximumPoolSize(1);
Index: testsuite/src/main/org/jboss/test/util/test/ThreadPoolTaskUnitTestCase.java
===================================================================
--- testsuite/src/main/org/jboss/test/util/test/ThreadPoolTaskUnitTestCase.java	(revision 113651)
+++ testsuite/src/main/org/jboss/test/util/test/ThreadPoolTaskUnitTestCase.java	(working copy)
@@ -25,6 +25,7 @@
 import java.util.HashMap;
 import java.util.HashSet;
 
+import org.jboss.test.util.test.jbpapp9887.JavaVersionChecker;
 import org.jboss.util.threadpool.BasicThreadPool;
 import org.jboss.util.threadpool.Task;
 import org.jboss.logging.Logger;
@@ -280,6 +281,12 @@
 
    public void testCompleteTimeoutWithSpinLoop() throws Exception
    {
+      if (JavaVersionChecker.isIBM() && JavaVersionChecker.minorVersion() >= 7)
+      {
+    	  log.debug("System is running on IBM JDK 7 or greater. Skipping spin loop test.");
+    	  return;
+      }
+      log.debug("The system is NOT running IBM JDK 7. Proceeding with testCompleteTimeoutWithSpinLoop.");
       BasicThreadPool pool = new BasicThreadPool();
       pool.setMaximumQueueSize(1);
       pool.setMaximumPoolSize(1);
Index: testsuite/src/main/org/jboss/test/util/test/jbpapp9887/JavaVersionChecker.java
===================================================================
--- testsuite/src/main/org/jboss/test/util/test/jbpapp9887/JavaVersionChecker.java	(revision 0)
+++ testsuite/src/main/org/jboss/test/util/test/jbpapp9887/JavaVersionChecker.java	(working copy)
@@ -0,0 +1,40 @@
+/**
+ * 
+ */
+package org.jboss.test.util.test.jbpapp9887;
+
+import org.jboss.logging.Logger;
+
+/**
+ * Class which has some static method calls which will return information on the current JVM version that is running based off System properties.
+ * 
+ * @author navssurtani
+ *
+ */
+public class JavaVersionChecker {
+	
+	private static final Logger log = Logger.getLogger(JavaVersionChecker.class);
+	
+	/**
+	 * Method to find out whether or not the jvm or jdk used is from IBM. The system property checked is something that should be null if the sun
+	 * jdk or openjdk is used.
+	 * 
+	 * @return whether or not the jvm used is from IBM.
+	 */
+	public static boolean isIBM(){
+		log.debug("Java version checker called. The system property that you are looking for, java.vm.name is: " + System.getProperty("java.vm.name"));		
+		return System.getProperty("java.vm.name").toString().contains("IBM");
+	}
+	
+	/**
+	 * Find out the 'minor version' of the jvm being used. For example, java 6 has version 1.6.x etc.
+	 * 
+	 * @return the version of java being used.
+	 */
+	public static int minorVersion(){
+		String version = System.getProperty("java.version");
+		String minorVersion = version.substring(2, 3);
+		log.debug("The minor version of java being used is: " + minorVersion);
+		return Integer.parseInt(minorVersion);
+	}
+}
