Index: applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetReader.java
===================================================================
--- applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetReader.java	(revision 29664)
+++ applications/editors/josm/plugins/opendata/src/org/openstreetmap/josm/plugins/opendata/core/io/tabular/SpreadSheetReader.java	(revision 29665)
@@ -35,4 +35,5 @@
 import org.openstreetmap.josm.data.projection.Projection;
 import org.openstreetmap.josm.gui.progress.ProgressMonitor;
+import org.openstreetmap.josm.gui.util.GuiHelper;
 import org.openstreetmap.josm.io.AbstractReader;
 import org.openstreetmap.josm.plugins.opendata.core.OdConstants;
@@ -88,4 +89,21 @@
         }
         return col;
+	}
+	
+	private class ChooserLauncher implements Runnable {
+
+	    public Projection proj = null;
+        private final ProgressMonitor progressMonitor;
+	    
+        public ChooserLauncher(ProgressMonitor progressMonitor) {
+            this.progressMonitor = progressMonitor;
+        }
+
+        @Override public void run() {
+            ProjectionChooser dialog = (ProjectionChooser) new ProjectionChooser(progressMonitor.getWindowParent()).showDialog();
+            if (dialog.getValue() == 1) {
+                proj = dialog.getProjection();
+            }
+        }
 	}
 	
@@ -141,11 +159,11 @@
 			if (!handlerOK) {
 				// TODO: filter proposed projections with min/max values ?
-				ProjectionChooser dialog = (ProjectionChooser) new ProjectionChooser(progressMonitor.getWindowParent()).showDialog();
-				if (dialog.getValue() != 1) {
+			    ChooserLauncher launcher = new ChooserLauncher(progressMonitor);
+			    GuiHelper.runInEDTAndWait(launcher);
+				if (launcher.proj == null) {
 					return null; // User clicked Cancel
 				}
-				Projection proj = dialog.getProjection();
 		        for (CoordinateColumns c : columns) {
-		            c.proj = proj;
+		            c.proj = launcher.proj;
 		        }
 			}
