Index: applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/ImageLayer.java
===================================================================
--- applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/ImageLayer.java	(revision 26413)
+++ applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/ImageLayer.java	(revision 26452)
@@ -3,6 +3,4 @@
 import static org.openstreetmap.josm.tools.I18n.tr;
 
-import java.awt.Component;
-import java.awt.Color;
 import java.awt.Graphics2D;
 import java.awt.Image;
@@ -17,7 +15,4 @@
 import javax.swing.Icon;
 import javax.swing.ImageIcon;
-import javax.swing.JMenuItem;
-import javax.swing.JOptionPane;
-import javax.swing.JSeparator;
 
 import org.apache.log4j.Logger;
@@ -36,4 +31,5 @@
 import org.openstreetmap.josm.data.coor.LatLon;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
+import org.openstreetmap.josm.gui.ExtendedDialog;
 import org.openstreetmap.josm.gui.MapView;
 import org.openstreetmap.josm.gui.dialogs.LayerListDialog;
@@ -43,5 +39,5 @@
 /**
  *  Layer which contains spatial referenced image data.
- * 
+ *
  * @author Christoph Beekmans, Fabian Kowitz, Anna Robaszkiewicz, Oliver Kuhn, Martin Ulitzny
  *
@@ -52,5 +48,5 @@
 
     private File imageFile;
-    
+
     private BufferedImage image = null;
 
@@ -62,8 +58,8 @@
     // current bbox
     private Envelope2D bbox;
-    
+
     // Layer icon
     private Icon layericon = null;
-    
+
     // reference system of the oringinal image
     private CoordinateReferenceSystem sourceRefSys;
@@ -71,11 +67,11 @@
     /**
      * Constructor
-     * 
+     *
      * @param file
-     * @throws IOException 
+     * @throws IOException
      */
     public ImageLayer(File file) throws IOException {
         super(file.getName());
-        
+
         this.imageFile = file;
         this.image = (BufferedImage) createImage();
@@ -85,5 +81,5 @@
     /**
      * create spatial referenced image.
-     * 
+     *
      * @return
      * @throws IOException
@@ -97,8 +93,8 @@
             coverage = PluginOperations.createGridFromFile(imageFile, null, true);
             this.sourceRefSys = coverage.getCoordinateReferenceSystem();
-            
+
             // now reproject grid coverage
-            coverage = PluginOperations.reprojectCoverage(coverage, CRS.decode(Main.proj.toCode()));
-        
+            coverage = PluginOperations.reprojectCoverage(coverage, CRS.decode(Main.getProjection().toCode()));
+
         } catch (FactoryException e) {
             logger.error("Error while creating GridCoverage:",e);
@@ -107,18 +103,32 @@
             if(e.getMessage().contains("No projection file found"))
             {
-                int useUnprojected = JOptionPane.showConfirmDialog(Main.parent, "<html>No projection file (.prj) found.<br />Use the image unprojected?</html>", "Missing projection", JOptionPane.YES_NO_OPTION);
-                if (useUnprojected == 0) { // Yes
-                    logger.debug("Passing through image un-projected.");
-                    try {
-                        // create a grid coverage from the image
-                        coverage = PluginOperations.createGridFromFile(imageFile, null, false);
-                        this.sourceRefSys = coverage.getCoordinateReferenceSystem();
-                    } catch (Exception e1) {
-                        logger.error("Error while creating GridCoverage:",e1);
-                        throw new IOException(e1);
-                    }
-                } else { // No
+                ExtendedDialog ex = new ExtendedDialog(Main.parent, tr("Warning"), new String[] {tr("Default image projection"), tr("JOSM's current projection"), tr("Cancel")});
+                ex.setContent(tr("No projection file (.prj) found.<br>"
+                        + "You can choose the default image projection ({0}) or JOSM''s current editor projection ({1}) as original image projection.<br>"
+                        + "(It can be changed later from the right click menu of the image layer.)", 
+                        ImportImagePlugin.pluginProps.getProperty("default_crs_srid"), Main.getProjection().toCode()));
+                ex.showDialog();
+                int val = ex.getValue();
+                if (val == 3) {
                     logger.debug("No projection and user declined un-projected use");
                     throw new LayerCreationCancledException();
+                }
+                CoordinateReferenceSystem src = null;
+                try {
+                    if (val == 1) {
+                        src = PluginOperations.defaultSourceCRS;
+                    } else {
+                        logger.debug("Passing through image un-projected.");
+                        src = CRS.decode(Main.getProjection().toCode());
+                    }
+                    // create a grid coverage from the image
+                    coverage = PluginOperations.createGridFromFile(imageFile, src, false);
+                    this.sourceRefSys = coverage.getCoordinateReferenceSystem();
+                    if (val == 1) {
+                        coverage = PluginOperations.reprojectCoverage(coverage, CRS.decode(Main.getProjection().toCode()));
+                    }
+                } catch (Exception e1) {
+                    logger.error("Error while creating GridCoverage:",e1);
+                    throw new IOException(e1);
                 }
             }
@@ -171,5 +181,5 @@
             // Rotate image by angle
             g.rotate(angle * Math.PI / 180.0);
-            
+
             // Determine scale to fit JOSM extents
             ProjectionBounds projbounds = Main.map.mapView
@@ -199,10 +209,10 @@
             // Draw picture
             g.drawImage(image, 0, 0, null);
-            
+
         } else {
             logger.error("Error while dawing image: image == null or Graphics == null");
         }
     }
-    
+
     public Envelope2D getBbox() {
         return bbox;
@@ -236,5 +246,4 @@
     @Override
     public boolean isMergable(Layer arg0) {
-        // TODO Auto-generated method stub
         return false;
     }
@@ -242,13 +251,14 @@
     @Override
     public void mergeFrom(Layer arg0) {
-        // TODO Auto-generated method stub
-
-    }
-
-    @Override
-    public void visitBoundingBox(BoundingXYVisitor arg0) {
-        // TODO Auto-generated method stub
-    }
-    
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public void visitBoundingBox(BoundingXYVisitor visitor) {
+            EastNorth min = new EastNorth(getBbox().getMinX(), getBbox().getMinY());
+            EastNorth max = new EastNorth(getBbox().getMaxX(), getBbox().getMaxY());
+            visitor.visit(min);
+            visitor.visit(max);
+    }
 
     @Override
@@ -257,5 +267,5 @@
         return this.getName();
     }
-    
+
 
     public File getImageFile() {
@@ -266,13 +276,13 @@
         return image;
     }
-    
+
     /**
      * loads the image and reprojects it using a transformation
      * calculated by the new reference system.
-     * 
+     *
      * @param newRefSys
-     * @throws IOException 
-     * @throws FactoryException 
-     * @throws NoSuchAuthorityCodeException 
+     * @throws IOException
+     * @throws FactoryException
+     * @throws NoSuchAuthorityCodeException
      */
     void resample(CoordinateReferenceSystem refSys) throws IOException, NoSuchAuthorityCodeException, FactoryException
@@ -280,31 +290,27 @@
         logger.debug("resample");
         GridCoverage2D coverage =  PluginOperations.createGridFromFile(this.imageFile, refSys, true);
-        coverage = PluginOperations.reprojectCoverage(coverage, CRS.decode(Main.proj.toCode()));
+        coverage = PluginOperations.reprojectCoverage(coverage, CRS.decode(Main.getProjection().toCode()));
         this.bbox = coverage.getEnvelope2D();
         this.image = ((PlanarImage)coverage.getRenderedImage()).getAsBufferedImage();
-        
-        // TODO
-        upperLeft = new EastNorth(coverage.getEnvelope2D().y, coverage
-                .getEnvelope2D().x
-                + coverage.getEnvelope2D().width);
+
+        upperLeft = new EastNorth(coverage.getEnvelope2D().x, coverage
+                .getEnvelope2D().y
+                + coverage.getEnvelope2D().height);
         angle = 0;
 
         // repaint and zoom to new bbox
-        Main.map.mapView.repaint();
-        LatLon min = new LatLon(bbox.getMinX(), bbox.getMinY());
-        LatLon max = new LatLon(bbox.getMaxX(), bbox.getMaxY());
-        Main.map.mapView.zoomTo(new Bounds(min, max));
-        
-        
-    }
-    
+        BoundingXYVisitor boundingXYVisitor = new BoundingXYVisitor();
+        visitBoundingBox(boundingXYVisitor);
+        Main.map.mapView.recalculateCenterScale(boundingXYVisitor);
+    }
+
     /**
      * Action that creates a dialog GUI element with properties of a layer.
-     * 
+     *
      */
     public class LayerPropertiesAction extends AbstractAction
     {
         public ImageLayer imageLayer;
-        
+
         public LayerPropertiesAction(ImageLayer imageLayer){
             super(tr("Layer Properties"));
@@ -313,12 +319,12 @@
 
         public void actionPerformed(ActionEvent arg0) {
-            
+
             LayerPropertiesDialog layerProps = new LayerPropertiesDialog(imageLayer, PluginOperations.crsDescriptions);
             layerProps.setLocation(Main.parent.getWidth() / 4 , Main.parent.getHeight() / 4);
             layerProps.setVisible(true);
         }
-        
-    }
-    
+
+    }
+
     /**
      * Exception which represents that the layer creation has been cancled by the
@@ -328,5 +334,5 @@
     class LayerCreationCancledException extends IOException{
     }
-    
+
     public CoordinateReferenceSystem getSourceRefSys() {
         return sourceRefSys;
Index: applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/ImportImagePlugin.java
===================================================================
--- applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/ImportImagePlugin.java	(revision 26413)
+++ applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/ImportImagePlugin.java	(revision 26452)
@@ -25,30 +25,30 @@
  * Plugin class.
  * Provides basic routines for plugin installation and provides the plugin properties.
- * 
- * 
+ *
+ *
  * @author Christoph Beekmans, Fabian Kowitz, Anna Robaszkiewicz, Oliver Kuhn, Martin Ulitzny
  *
  */
 public class ImportImagePlugin extends Plugin{
-    
+
     private static Logger logger;
-    
+
     JMenu mainmenu = null;
     JosmAction loadFileAction = null;
-    
+
     // custom Classloader
     static ClassLoader pluginClassLoader;
-    
+
     // plugin proerties
     static Properties pluginProps;
-    
+
     // path constants
     static final String PLUGIN_DIR = Main.pref.getPluginsDirectory().getAbsolutePath() + "/ImportImagePlugin/";
-    static final String PLUGINPROPERTIES_PATH = Main.pref.getPluginsDirectory().getAbsolutePath() + "/ImportImagePlugin/pluginProperties.properties"; 
-    static final String PLUGINLIBRARIES_DIR = Main.pref.getPluginsDirectory().getAbsolutePath() + "/ImportImagePlugin/lib/"; 
+    static final String PLUGINPROPERTIES_PATH = Main.pref.getPluginsDirectory().getAbsolutePath() + "/ImportImagePlugin/pluginProperties.properties";
+    static final String PLUGINLIBRARIES_DIR = Main.pref.getPluginsDirectory().getAbsolutePath() + "/ImportImagePlugin/lib/";
     static final String PLUGINPROPERTIES_FILENAME = "pluginProperties.properties";
     static final String LOGGING_PROPERTIES_FILEPATH = Main.pref.getPluginsDirectory().getAbsolutePath() + "/ImportImagePlugin/log4j.properties/";
-    
-    
+
+
     public Properties getPluginProps() {
         return pluginProps;
@@ -58,21 +58,25 @@
     /**
      * constructor
-     * 
+     *
      * @param info
      */
     public ImportImagePlugin(PluginInformation info){
         super(info);
-        
+
+        // switch to x=lon and y=lat for EPSG:4326 as JOSM does
+        // (formally incorrect, but reasonable)
+        System.setProperty("org.geotools.referencing.forceXY", "true");
+
         try {
-            
+
             // First create custom ClassLoader to load resources from the main JAR
             pluginClassLoader = createPluginClassLoader();
-            
+
             // Initialize logger
             initializeLogger(pluginClassLoader);
-            
+
             // Check whether plugin has already been installed. Otherwise install
             checkInstallation();
-            
+
             // If resources are available load properties from plugin directory
             if(pluginProps == null || pluginProps.isEmpty())
@@ -97,17 +101,17 @@
                 method.invoke(sysLoader, new Object[]{library.toURI().toURL()});
             }
-            
-            
+
+
             // load information about supported reference systems
             PluginOperations.loadCRSData(pluginProps);
-            
+
             // create new Action for menu entry
             LoadImageAction loadFileAction = new LoadImageAction();
             loadFileAction.setEnabled(true);
-            
+
             // add menu entries
             Main.main.menu.fileMenu.insert(loadFileAction, 8);
             Main.main.menu.fileMenu.insertSeparator(9);
-            
+
 
         } catch (Exception e) {
@@ -121,18 +125,16 @@
 
         logger.info("Plugin successfully loaded.");
-        
-    }
-
-    
-    
+
+    }
+
     /**
      * Checks whether plugin resources are available.
      * If not, start install procedure.
-     * 
+     *
      * @throws IOException
      */
     private void checkInstallation() throws IOException
     {
-        
+
         // check plugin resource state
         boolean isInstalled = true;
@@ -141,12 +143,12 @@
                 || !new File(PLUGINLIBRARIES_DIR).exists())
             isInstalled = false;
-        
-        
+
+
         // if properties file doesn't exist, install plugin
         if(!isInstalled)
         {
-            
+
             /*----------- Begin installation ---------------*/
-            
+
             // check if plugin directory exist
             File pluginDir = new File(PLUGIN_DIR);
@@ -154,5 +156,5 @@
                 pluginDir.mkdir();
             }
-            
+
             // check if "lib" directory exist
             File libDir = new File(PLUGINLIBRARIES_DIR);
@@ -160,8 +162,8 @@
                 libDir.mkdir();
             }
-            
+
             // create local properties file
             if(pluginProps == null || pluginProps.isEmpty()){
-                
+
                 FileWriter fw = new FileWriter(new File(PLUGINPROPERTIES_PATH));
                 URL propertiesURL = pluginClassLoader.getResource("resources/" + PLUGINPROPERTIES_FILENAME);
@@ -172,5 +174,5 @@
                 logger.debug("Plugin properties loaded");
             }
-            
+
             if(!new File(LOGGING_PROPERTIES_FILEPATH).exists())
             {
@@ -184,14 +186,14 @@
             }
 
-            
-            // Copy all needed JAR files to $PLUGIN_DIR$/lib/  
+
+            // Copy all needed JAR files to $PLUGIN_DIR$/lib/
             String[] libStrings = pluginProps.getProperty("libraries").split(",");
-            
+
             for (int i = 0; i < libStrings.length; i++) {
-                
+
                 URL url = pluginClassLoader.getResource("lib/" + libStrings[i]);
-                
+
                 FileOutputStream out = null;
-                
+
                 try{
                     out = new FileOutputStream(new File(libDir, libStrings[i]));
@@ -199,5 +201,5 @@
                     break;
                 }
-                
+
                 BufferedInputStream in = null;
                 try
@@ -227,5 +229,5 @@
     /**
      * Initialize logger using plugin classloader.
-     * 
+     *
      * @param cl
      */
@@ -235,23 +237,23 @@
         try {
             props.load(new File(LOGGING_PROPERTIES_FILEPATH).toURI().toURL().openStream());
-            
+
             // Set file for logging here:
             props.setProperty("log4j.appender.MyRoFiAppender.file",
                     (Main.pref.getPluginsDirectory().getAbsolutePath() + "/ImportImagePlugin/" + "log.log"));
-            
+
             PropertyConfigurator.configure(props);
 
             logger = Logger.getLogger(ImportImagePlugin.class);
-            
+
             logger.info("Logger successfully initialized.");
-            
+
             return;
-        
+
         } catch (IOException e) {
             System.out.println("Logging properties file not found. Using standard settings.");
         }
-        
+
         // if no log4j.properties file can be found, initialize manually:
-        
+
         props.setProperty("log4j.rootLogger", "INFO, A");
         props.setProperty("log4j.appender.A", "org.apache.log4j.FileAppender");
@@ -265,18 +267,18 @@
         props.setProperty("log4j.appender.A.file",
                 (Main.pref.getPluginsDirectory().getAbsolutePath() + "/ImportImagePlugin/" + "log.log"));
-        
+
         PropertyConfigurator.configure(props);
         logger = Logger.getLogger(ImportImagePlugin.class);
         logger.info("Logger successfully initialized with standard settings.");
-        
-    }
-    
+
+    }
+
     /**
      * get a plugin-specific classloader.
-     * 
+     *
      * @return
-     * @throws MalformedURLException 
-     */
-    private ClassLoader createPluginClassLoader() throws MalformedURLException 
+     * @throws MalformedURLException
+     */
+    private ClassLoader createPluginClassLoader() throws MalformedURLException
     {
         ClassLoader loader = null;
@@ -285,7 +287,7 @@
                 ImportImagePlugin.class.getClassLoader()
                 );
-        
+
         return loader;
     }
-    
+
 }
Index: applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/LayerPropertiesDialog.java
===================================================================
--- applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/LayerPropertiesDialog.java	(revision 26413)
+++ applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/LayerPropertiesDialog.java	(revision 26452)
@@ -565,4 +565,5 @@
             eastingFirstCheckBox = new JCheckBox();
             eastingFirstCheckBox.setBounds(new Rectangle(345, 255, 21, 21));
+            eastingFirstCheckBox.setSelected(true);
         }
         return eastingFirstCheckBox;
Index: applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/LoadImageAction.java
===================================================================
--- applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/LoadImageAction.java	(revision 26413)
+++ applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/LoadImageAction.java	(revision 26452)
@@ -1,8 +1,6 @@
 package org.openstreetmap.josm.plugins.ImportImagePlugin;
 import java.awt.event.ActionEvent;
-import java.io.IOException;
 
 import javax.swing.JFileChooser;
-import javax.swing.JFrame;
 import javax.swing.JOptionPane;
 
@@ -13,6 +11,4 @@
 import org.openstreetmap.josm.Main;
 import org.openstreetmap.josm.actions.JosmAction;
-import org.openstreetmap.josm.data.Bounds;
-import org.openstreetmap.josm.data.coor.EastNorth;
 import org.openstreetmap.josm.data.osm.visitor.BoundingXYVisitor;
 import org.openstreetmap.josm.plugins.ImportImagePlugin.ImageLayer.LayerCreationCancledException;
@@ -21,10 +17,10 @@
 /**
  * Class extends JosmAction and creates a new image layer.
- * 
+ *
  * @author Christoph Beekmans, Fabian Kowitz, Anna Robaszkiewicz, Oliver Kuhn, Martin Ulitzny
  *
  */
 public class LoadImageAction extends JosmAction {
-    
+
     private Logger logger = Logger.getLogger(LoadImageAction.class);
 
@@ -39,10 +35,11 @@
 
         // Choose a file
-        JFileChooser fc = new JFileChooser();
+        JFileChooser fc = new JFileChooser(Main.pref.get("plugins.importimage.importpath", null));
         fc.setAcceptAllFileFilterUsed(false);
         int result = fc.showOpenDialog(Main.parent);
-        
+
         ImageLayer layer = null;
         if (result == JFileChooser.APPROVE_OPTION) {
+            Main.pref.put("plugins.importimage.importpath", fc.getCurrentDirectory().getAbsolutePath());
             logger.info("File choosen:" + fc.getSelectedFile());
             try {
@@ -55,14 +52,11 @@
                 JOptionPane.showMessageDialog(null, marktr("Error while creating image layer: " + e.getCause()));
                 return;
-                
+
             }
-            
+
             // Add layer:
             Main.main.addLayer(layer);
-            EastNorth min = new EastNorth(layer.getBbox().getMinX(), layer.getBbox().getMinY());
-            EastNorth max = new EastNorth(layer.getBbox().getMaxX(), layer.getBbox().getMaxY());
             BoundingXYVisitor boundingXYVisitor = new BoundingXYVisitor();
-            boundingXYVisitor.visit(min);
-            boundingXYVisitor.visit(max);
+            layer.visitBoundingBox(boundingXYVisitor);
             Main.map.mapView.recalculateCenterScale(boundingXYVisitor);
         }
Index: applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/PluginOperations.java
===================================================================
--- applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/PluginOperations.java	(revision 26413)
+++ applications/editors/josm/plugins/ImportImagePlugin/src/org/openstreetmap/josm/plugins/ImportImagePlugin/PluginOperations.java	(revision 26452)
@@ -41,5 +41,5 @@
 /**
  * Class provides methods for resampling operations, IO and stores important data.
- * 
+ *
  * @author Christoph Beekmans, Fabian Kowitz, Anna Robaszkiewicz, Oliver Kuhn, Martin Ulitzny
  *
@@ -48,31 +48,31 @@
 
     private static final Logger logger = Logger.getLogger(PluginOperations.class);
-    
+
     // contains descriptions of all available CRS
     static Vector<String> crsDescriptions;
 
-    // the standard native CRS of user images 
+    // the standard native CRS of user images
     static CoordinateReferenceSystem defaultSourceCRS;
     // description of 'defaultSourceCRS'
     static String defaultSourceCRSDescription;
-    
-    
-    
+
+
+
     public static enum SUPPORTEDIMAGETYPES {
-        tiff, tif, jpg, jpeg, bmp, png 
+        tiff, tif, jpg, jpeg, bmp, png
     }
 
     public static enum POSTFIXES_WORLDFILE {
-        wld, jgw, jpgw, pgw, pngw, tfw, tifw, bpw, bmpw, 
+        wld, jgw, jpgw, pgw, pngw, tfw, tifw, bpw, bmpw,
     };
-    
+
     /**
      * Reprojects a GridCoverage to a given CRS.
-     * 
+     *
      * @param coverage
      * @param targetCrs
      * @return destination
-     * @throws FactoryException 
-     * @throws NoSuchAuthorityCodeException 
+     * @throws FactoryException
+     * @throws NoSuchAuthorityCodeException
      */
     public static GridCoverage2D reprojectCoverage(GridCoverage2D coverage,
@@ -81,5 +81,5 @@
         // TODO: add category for NO_DATA values in coverage (transparency in
         // image)
-        
+
         GridCoverage2D destination = null;
 
@@ -100,9 +100,9 @@
 
     /**
-     * Creates a org.geotools.coverage.grid.GridCoverage2D from a given file. 
-     * 
+     * Creates a org.geotools.coverage.grid.GridCoverage2D from a given file.
+     *
      * @param file
      * @return
-     * @throws IOException 
+     * @throws IOException
      * @throws Exception
      */
@@ -110,5 +110,5 @@
 
         GridCoverage2D coverage = null;
-        
+
         if (!file.exists()) throw new FileNotFoundException("File not found.");
 
@@ -123,5 +123,5 @@
                 || extension.equalsIgnoreCase(".tiff"))
         {
-            
+
             // try to read GeoTIFF:
             try {
@@ -136,6 +136,6 @@
                 throw new IOException(facte);
             }
-            
-            // file is no GeoTiff, searching for Worldfile and projection file: 
+
+            // file is no GeoTiff, searching for Worldfile and projection file:
             String[] postfixes = {"wld", "tfw", "tifw"};
             // try to read Worldfile:
@@ -151,5 +151,5 @@
                 throw new IOException("No Worldfile found.");
             }
-            
+
             if (refSys == null) {
                 // if no crs is delivered try to read projection file:
@@ -160,7 +160,7 @@
                 }
             }
-            
+
             BufferedImage img = ImageIO.read(file);
-            
+
             // create Envelope
             double width = (double) (img.getWidth() * tfwReader.getXPixelSize());
@@ -169,9 +169,8 @@
             double lowerLeft_y = (double) tfwReader.getYULC() - height;
             Envelope2D bbox = new Envelope2D(null, new Rectangle2D.Double(lowerLeft_x, lowerLeft_y, width, height));
-            
+
             coverage = createGridCoverage(img, bbox, refSys);
-            
-        }
-        // 
+        }
+        //
         else if (extension.equalsIgnoreCase(".jpg")
                 || extension.equalsIgnoreCase(".jpeg"))
@@ -187,5 +186,5 @@
             }
             if (tfwReader == null) throw new IOException("No Worldfile found.");
-            
+
             if (refSys == null) {
                 // if no crs is delivered try to read projection file:
@@ -196,7 +195,7 @@
                 }
             }
-            
+
             BufferedImage img = ImageIO.read(file);
-            
+
             // create Envelope
             double width = (double) (img.getWidth() * tfwReader.getXPixelSize());
@@ -205,7 +204,6 @@
             double lowerLeft_y = (double) tfwReader.getYULC() - height;
             Envelope2D bbox = new Envelope2D(null, new Rectangle2D.Double(lowerLeft_x, lowerLeft_y, width, height));
-            
+
             coverage = createGridCoverage(img, bbox, refSys);
-            
         }
         else if(extension.equalsIgnoreCase(".bmp"))
@@ -230,7 +228,7 @@
                 }
             }
-            
+
             BufferedImage img = ImageIO.read(file);
-            
+
             // create Envelope
             double width = (double) (img.getWidth() * tfwReader.getXPixelSize());
@@ -239,10 +237,10 @@
             double lowerLeft_y = (double) tfwReader.getYULC() - height;
             Envelope2D bbox = new Envelope2D(null, new Rectangle2D.Double(lowerLeft_x, lowerLeft_y, width, height));
-            
+
             coverage = createGridCoverage(img, bbox, refSys);
         }
         else if(extension.equalsIgnoreCase(".png"))
         {
-            
+
             String[] postfixes = {"wld", "pgw", "pngw"};
             // try to read Worldfile:
@@ -255,5 +253,5 @@
             }
             if(tfwReader == null) throw new IOException("No Worldfile found.");
-            
+
             if (refSys == null) {
                 // if no crs is delivered try to read projection file:
@@ -264,7 +262,7 @@
                 }
             }
-            
+
             BufferedImage img = ImageIO.read(file);
-            
+
             // create Envelope
             double width = (double) (img.getWidth() * tfwReader.getXPixelSize());
@@ -273,5 +271,5 @@
             double lowerLeft_y = (double) tfwReader.getYULC() - height;
             Envelope2D bbox = new Envelope2D(null, new Rectangle2D.Double(lowerLeft_x, lowerLeft_y, width, height));
-            
+
             coverage = createGridCoverage(img, bbox, refSys);
         }
@@ -283,27 +281,27 @@
         return coverage;
     }
-    
-    /**
-     * Searches for a projection file (.prj) with the same name of 'file' 
+
+    /**
+     * Searches for a projection file (.prj) with the same name of 'file'
      * tries to parse it.
-     * 
-     * 
+     *
+     *
      * @param file image file, not the real world file (will be searched)
-     * @return 
-     * @throws IOException 
+     * @return
+     * @throws IOException
      */
     public static CoordinateReferenceSystem readPrjFile(File file) throws IOException
     {
-        
+
         CoordinateReferenceSystem refSys = null;
-        
+
         String prjFilename = null;
         int dotPos = file.getAbsolutePath().lastIndexOf(".");
         prjFilename = file.getAbsolutePath().substring(0, dotPos) + ".prj";
-        
+
         File prjFile = new File(prjFilename);
         if (!prjFile.exists()) return null;
         logger.debug("Loading .prj file: " + prjFile.getAbsolutePath());
-        
+
         StringBuilder sb = new StringBuilder();
         String content = null;
@@ -313,5 +311,5 @@
             sb.append(content);
         }
-        
+
         try {
             refSys = CRS.parseWKT(sb.toString().trim());
@@ -319,13 +317,13 @@
             throw new IOException("Unable to parse prj-file: '" + prjFile.getName() + "'");
         }
-        
+
         return refSys;
-        
-    }
-    
-    
+
+    }
+
+
     /**
      * Method for external use.
-     * 
+     *
      * @param img
      * @param bbox
@@ -338,9 +336,9 @@
         return new GridCoverageFactory().create("", img, bbox);
     }
-    
+
     /**
      * Method for reading a GeoTIFF file.
-     * 
-     * @param file 
+     *
+     * @param file
      * @param refSys if delivered, the coverage will be forced to use this crs
      * @return
@@ -359,16 +357,16 @@
         // dont't use the EPSG-Factory because of wrong behaviour
         hints.put(Hints.CRS_AUTHORITY_FACTORY, CRS.getAuthorityFactory(true));
-        
+
         GeoTiffReader reader = new GeoTiffReader(file, hints);
-        
+
         coverage = (GridCoverage2D) reader.read(null);
-        
+
         return coverage;
     }
-    
-    
-    /**
-     * Loads CRS data from an EPSG database and creates descrptions for each one. 
-     * 
+
+
+    /**
+     * Loads CRS data from an EPSG database and creates descrptions for each one.
+     *
      * @param pluginProps
      * @throws Exception
@@ -377,18 +375,21 @@
     {
         String defaultcrsString = pluginProps.getProperty("default_crs_srid");
-        
+
         crsDescriptions = new Vector<String>();
         Set<String> supportedCodes = CRS.getSupportedCodes("EPSG");
         CRSAuthorityFactory fac = CRS.getAuthorityFactory(false);
-        
+
         for (Iterator iterator = supportedCodes.iterator(); iterator.hasNext();) {
             String string = (String) iterator.next();
             try {
+                if ("WGS84(DD)".equals(string)) {
+                    continue;
+                }
                 InternationalString desc = fac.getDescriptionText("EPSG:" + string);
 
                 String description = desc.toString() + " [-EPSG:" + string + "-]";
-                
+
                 crsDescriptions.add(description);
-                
+
                 if(defaultcrsString != null && defaultcrsString.equalsIgnoreCase("EPSG:" + string)){
                     boolean isEastingFirst = Boolean.valueOf(pluginProps.getProperty("default_crs_eastingfirst"));
@@ -397,7 +398,5 @@
                 }
             } catch (NoSuchAuthorityCodeException e) {
-                if(!string.equalsIgnoreCase("WGS84(DD)")){
-                    logger.error("Error while loading EPSG data: " + e.getMessage());
-                }
+                logger.error("Error while loading EPSG data: " + e.getMessage());
             } catch (FactoryException e) {
                 logger.error("Error while loading EPSG data: " + e.getMessage());
@@ -405,4 +404,4 @@
         }
     }
-    
+
 }
