diff --git a/pom.xml b/pom.xml
index 3364b27..7a7e3c9 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,30 +23,73 @@
   <parent>
     <artifactId>maven-parent</artifactId>
     <groupId>org.apache.maven</groupId>
-    <version>5</version>
+    <version>6</version>
   </parent>
   <modelVersion>4.0.0</modelVersion>
   <artifactId>maven-ant-tasks</artifactId>
-  <version>2.0.8-SNAPSHOT</version>
+  <version>2.0.8</version>
   <name>Maven Ant Task</name>
 
   <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/ant-tasks/branches/maven-ant-tasks-2.0.x</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/ant-tasks/branches/maven-ant-tasks-2.0.x</developerConnection>
-    <url>http://svn.apache.org/viewcvs.cgi/maven/ant-tasks/branches/maven-ant-tasks-2.0.x</url>
+    <connection>scm:svn:http://svn.apache.org/repos/asf/maven/ant-tasks/tags/maven-ant-tasks-2.0.8</connection>
+    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/maven/ant-tasks/tags/maven-ant-tasks-2.0.8</developerConnection>
+    <url>http://svn.apache.org/viewcvs.cgi/maven/ant-tasks/tags/maven-ant-tasks-2.0.8</url>
   </scm>
 
   <build>
     <pluginManagement>
       <plugins>
         <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>2.1</version>
+        </plugin>
+        <plugin>
+          <groupId>org.apache.maven.plugins</groupId>
+          <artifactId>maven-compiler-plugin</artifactId>
+          <version>2.0.2</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-assembly-plugin</artifactId>
+          <version>2.2-beta-1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-surefire-plugin</artifactId>
+          <version>2.3</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>2.3</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>2.1</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-site-plugin</artifactId>
+          <version>2.0-beta-5</version>
+        </plugin>
+        <plugin>
+          <artifactId>maven-resources-plugin</artifactId>
+          <version>2.2</version>
+        </plugin> 
+        <plugin>
+          <artifactId>maven-remote-resources-plugin</artifactId>
+          <version>1.0-alpha-15</version>
+        </plugin>     
+        <plugin>
+          <artifactId>maven-clean-plugin</artifactId>
+          <version>2.1.1</version>
+        </plugin>
+        <plugin>
           <artifactId>maven-release-plugin</artifactId>
+          <version>2.0-beta-7</version>
           <configuration>
             <tagBase>https://svn.apache.org/repos/asf/maven/ant-tasks/tags</tagBase>
           </configuration>
         </plugin>
       </plugins>
-    </pluginManagement>       
+    </pluginManagement>
     <plugins>
       <plugin>
         <artifactId>shade-maven-plugin</artifactId>
diff --git a/sample.build.xml b/sample.build.xml
index 96702e4..b7921c4 100644
--- a/sample.build.xml
+++ b/sample.build.xml
@@ -40,7 +40,7 @@
   </target>
 
   <target name="test-all-deps" description="All dependencies tests"
-    depends="test-pom,test-pom-with-parent,test-no-deps,test-pom-deps,test-deps-two-repos,test-deps,test-legacy-pom,test-deps-mirror,test-deps-order,test-deps-MANTTASKS-91">
+    depends="test-pom,test-pom-with-parent,test-no-deps,test-pom-deps,test-deps-two-repos,test-deps,test-legacy-pom,test-deps-mirror,test-deps-order">
     <echo>test-bad-dep and test-invalid-pom-ref must be run manually, since they are intended to fail</echo>
   </target>
 
@@ -252,6 +252,18 @@
       <equals arg1="${reverse.order.property}" arg2="snapshotUniqueFalse-2.0.7-SNAPSHOT.jar:junit-3.8.1.jar"/>
     </condition>
     <fail unless="reverse.order.ok">dependencies junit then it.ant-tasks should be preserved in path: ${reverse.order.property}</fail>
+
+    <artifact:pom file="src/test/pom-order.xml" id="order.project"/>
+    <artifact:dependencies pathId="pom.order.path" verbose="true">
+      <pom refid="order.project"/>
+    </artifact:dependencies>
+    <pathconvert property="pom.order.property" targetos="unix" refid="pom.order.path">
+      <mapper type="flatten"/>
+    </pathconvert>
+    <condition property="pom.order.ok">
+      <equals arg1="${pom.order.property}" arg2="commons-io-1.3.2.jar:commons-lang-2.3.jar:commons-logging-1.1.1.jar:commons-collections-3.2.jar"/>
+    </condition>
+    <fail unless="pom.order.ok">order of dependencies defined in pom should be preserved in path: ${pom.order.property}</fail>
   </target>
 
   <target name="test-deploy-spaces" depends="initTaskDefs,installSshProvider">
diff --git a/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java b/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
index d32a739..12fca21 100644
--- a/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
+++ b/src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
@@ -27,9 +27,7 @@
 import org.apache.maven.artifact.repository.ArtifactRepositoryPolicy;
 import org.apache.maven.artifact.repository.DefaultArtifactRepository;
 import org.apache.maven.artifact.repository.layout.ArtifactRepositoryLayout;
-import org.apache.maven.profiles.DefaultProfileManager;
 import org.apache.maven.profiles.ProfileManager;
-import org.apache.maven.profiles.activation.ProfileActivationException;
 import org.apache.maven.project.MavenProject;
 import org.apache.maven.project.MavenProjectBuilder;
 import org.apache.maven.project.ProjectBuildingException;
@@ -275,7 +273,8 @@
             settings.setLocalRepository( location );
         }
 
-        profileManager = new DefaultProfileManager( getContainer(), getSettings(), System.getProperties() );
+        // removed since it breaks dependencies order when injecting profile dependencies
+        //profileManager = new DefaultProfileManager( getContainer(), getSettings(), System.getProperties() );
 
         WagonManager wagonManager = (WagonManager) lookup( WagonManager.ROLE );
         wagonManager.setDownloadMonitor( new AntDownloadMonitor() );
diff --git a/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java b/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
index ce5f9b6..bd6ddfc 100644
--- a/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
+++ b/src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
@@ -369,16 +369,20 @@
             Properties properties = new Properties();
             resourceAsStream = DependenciesTask.class.getClassLoader().getResourceAsStream(
                 "META-INF/maven/org.apache.maven/maven-ant-tasks/pom.properties" );
-            properties.load( resourceAsStream );
-
-            if ( properties.getProperty( "builtOn" ) != null )
+            if ( resourceAsStream != null )
             {
-                log( "Maven Ant Tasks version: " + properties.getProperty( "version", "unknown" ) + " built on "
-                                + properties.getProperty( "builtOn" ), Project.MSG_VERBOSE );
+                properties.load( resourceAsStream );
+            }
+
+            String version = properties.getProperty( "version", "unknown" );
+            String builtOn = properties.getProperty( "builtOn" );
+            if ( builtOn != null )
+            {
+                log( "Maven Ant Tasks version: " + version + " built on " + builtOn, Project.MSG_VERBOSE );
             }
             else
             {
-                log( "Maven Ant Tasks version: " + properties.getProperty( "version", "unknown" ), Project.MSG_VERBOSE );
+                log( "Maven Ant Tasks version: " + version, Project.MSG_VERBOSE );
             }
         }
         catch ( IOException e )
diff --git a/src/test/pom-order.xml b/src/test/pom-order.xml
new file mode 100644
index 0000000..25889c7
--- /dev/null
+++ b/src/test/pom-order.xml
@@ -0,0 +1,38 @@
+<?xml version="1.0"?>
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>it.ant-tasks</groupId>
+  <artifactId>order</artifactId>
+  <packaging>jar</packaging>
+
+  <name>order</name>
+  <version>0.10-SNAPSHOT</version>
+  <description>
+    Check dependencies order after resolution.
+  </description>
+  <dependencies>
+    <dependency>
+      <groupId>org.apache.commons</groupId>
+      <artifactId>commons-io</artifactId>
+      <version>1.3.2</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-lang</groupId>
+      <artifactId>commons-lang</artifactId>
+      <version>2.3</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-logging</groupId>
+      <artifactId>commons-logging</artifactId>
+      <version>1.1.1</version>
+    </dependency>
+    <dependency>
+      <groupId>commons-collections</groupId>
+      <artifactId>commons-collections</artifactId>
+      <version>3.2</version>
+    </dependency>
+  </dependencies>
+</project>
