diff --git a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java
index 6f1a46e..a13e024 100644
--- a/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java
+++ b/ant/org.eclipse.ant.tests.ui/test plugin/org/eclipse/ant/tests/ui/testplugin/AbstractAntUITest.java
@@ -472,9 +472,8 @@
             IDocumentPartitioner partitioner = document.getDocumentPartitioner();
             if (partitioner != null) {
                 ITypedRegion[] regions= partitioner.computePartitioning(offset, document.getLineInformationOfOffset(offset).getLength());
-                
-                for (int i = 0; i < regions.length; i++) {
-                    IOConsolePartition partition = (IOConsolePartition)regions[i];
+                if (regions.length > 0) {
+                    IOConsolePartition partition = (IOConsolePartition)regions[0];
                     return partition.getColor();
                 }   
             }
