Index: src/test/settings-empty.xml
===================================================================
--- src/test/settings-empty.xml	(revision 0)
+++ src/test/settings-empty.xml	(revision 0)
@@ -0,0 +1 @@
+<settings></settings>
\ No newline at end of file
Index: src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java
===================================================================
--- src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java	(revision 548075)
+++ src/main/java/org/apache/maven/artifact/ant/AbstractArtifactTask.java	(working copy)
@@ -177,8 +177,6 @@
     {
         if ( settings == null )
         {
-            settings = new Settings();
-
             File settingsFile = new File( System.getProperty( "user.home" ), ".ant/settings.xml" );
             if ( !settingsFile.exists() )
             {
@@ -205,19 +203,19 @@
 
             if ( settingsFile.exists() )
             {
-                loadSettings(settingsFile);
+                loadSettings( settingsFile );
             }
-
-            if ( StringUtils.isEmpty( settings.getLocalRepository() ) )
+            else
             {
-                String location = new File( System.getProperty( "user.home" ), ".m2/repository" ).getAbsolutePath();
-                settings.setLocalRepository( location );
+                settings = new Settings();
+                checkSettingsLocalRepository();
             }
         }
         return settings;
     }
 
-    private void loadSettings(File settingsFile) {
+    private void loadSettings( File settingsFile )
+    {
         FileReader reader = null;
         try
         {
@@ -227,6 +225,8 @@
             SettingsXpp3Reader modelReader = new SettingsXpp3Reader();
 
             settings = modelReader.read( reader );
+
+            checkSettingsLocalRepository();
         }
         catch ( IOException e )
         {
@@ -244,12 +244,22 @@
         }
     }
     
-    public void setSettingsFile(File settingsFile) {
-        if (!settingsFile.exists()) throw new BuildException("settingsFile does not exist: " + settingsFile.getAbsolutePath());
-        settings = new Settings();
-        loadSettings(settingsFile);
+    private void checkSettingsLocalRepository()
+    {
+        if ( StringUtils.isEmpty( settings.getLocalRepository() ) )
+        {
+            String location = new File( System.getProperty( "user.home" ), ".m2/repository" ).getAbsolutePath();
+            settings.setLocalRepository( location );
+        }
     }
 
+    public void setSettingsFile( File settingsFile )
+    {
+        if ( !settingsFile.exists() )
+            throw new BuildException( "settingsFile does not exist: " + settingsFile.getAbsolutePath() );
+        loadSettings( settingsFile );
+    }
+
     protected RemoteRepository createAntRemoteRepository( org.apache.maven.model.Repository pomRepository )
     {
         RemoteRepository r = createAntRemoteRepositoryBase( pomRepository );
Index: src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java
===================================================================
--- src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java	(revision 548075)
+++ src/main/java/org/apache/maven/artifact/ant/DependenciesTask.java	(working copy)
@@ -196,7 +196,6 @@
         {
             throw new BuildException( "Reference ID " + pathId + " already exists" );
         }
-        */
 
         if ( filesetId != null && getProject().getReference( filesetId ) != null )
         {
@@ -207,6 +206,7 @@
         {
             throw new BuildException( "Reference ID " + sourcesFilesetId + " already exists" );
         }
+        */
 
         FileList fileList = new FileList();
         fileList.setDir( getLocalRepository().getPath() );
Index: sample.build.xml
===================================================================
--- sample.build.xml	(revision 548075)
+++ sample.build.xml	(working copy)
@@ -39,7 +39,7 @@
   </target>
   
   <target name="test-all-deps" description="All dependencies tests"
-    depends="test-pom,test-no-deps,test-pom-deps,test-deps,test-legacy-pom">
+    depends="test-pom,test-no-deps,test-empty-settings,test-pom-deps,test-deps,test-legacy-pom">
     <echo>test-bad-dep and test-invalid-pom-ref must be run manually, since they are intended to fail</echo>
   </target>
 
@@ -59,6 +59,11 @@
     </copy>
   </target>
 
+  <target name="test-empty-settings" depends="initTaskDefs">
+    <artifact:dependencies filesetId="runtime.fileset" settingsFile="${basedir}/src/test/settings-empty.xml">
+    </artifact:dependencies>
+  </target>
+
   <target name="test-bad-dep" depends="initTaskDefs">
     <artifact:dependencies pathId="dependency.classpath" filesetId="dependency.fileset">
       <dependency groupId="foo" artifactId="foo" version="1.0-alpha-2"/>

