diff --git a/pom.xml b/pom.xml
index 404b124..17c4e33 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,4 +1,4 @@
-<project>
+<?xml version="1.0" encoding="UTF-8"?><project>
   <parent>
     <artifactId>surefire-root</artifactId>
     <groupId>org.apache.maven.surefire</groupId>
@@ -7,7 +7,7 @@
   <modelVersion>4.0.0</modelVersion>
   <artifactId>surefire</artifactId>
   <name>SureFire</name>
-  <version>1.5-SNAPSHOT</version>
+  <version>1.5.1</version>
   <dependencies>
     <dependency>
       <groupId>junit</groupId>
@@ -20,4 +20,4 @@
       <version>1.0.4</version>
     </dependency>
   </dependencies>
-</project>
+</project>
\ No newline at end of file
diff --git a/src/main/java/org/apache/maven/surefire/Surefire.java b/src/main/java/org/apache/maven/surefire/Surefire.java
index 8d23495..d9775b1 100644
--- a/src/main/java/org/apache/maven/surefire/Surefire.java
+++ b/src/main/java/org/apache/maven/surefire/Surefire.java
@@ -24,11 +24,16 @@
 import org.apache.maven.surefire.report.ReporterManager;
 
 import java.lang.reflect.Constructor;
+import java.lang.reflect.Modifier;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
 import java.util.ResourceBundle;
 
+/**
+ * @version $Id$
+ * @uathor Jason van Zyl
+ */
 public class Surefire
 {
     private static ResourceBundle resources = ResourceBundle.getBundle( "org.apache.maven.surefire.surefire" );
@@ -53,7 +58,7 @@
         return resources;
     }
 
-    public boolean run( List reports, List batteryHolders, String reportsDirectory ) 
+    public boolean run( List reports, List batteryHolders, String reportsDirectory )
         throws Exception
     {
         ClassLoader classLoader = this.getClass().getClassLoader();
@@ -272,6 +277,11 @@
                 continue;
             }
 
+            if ( Modifier.isAbstract( testClass.getModifiers() ) )
+            {
+                continue;
+            }
+
             Object battery = null;
 
             if ( batteryClass.isAssignableFrom( testClass ) )
