Index: /src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java
===================================================================
--- /src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java	(revision 106)
+++ /src/org/openstreetmap/josm/gui/layer/GeoImageLayer.java	(revision 107)
@@ -124,5 +124,9 @@
 
 				ImageEntry e = new ImageEntry();
-				e.time = ExifReader.readTime(f);
+				try {
+	                e.time = ExifReader.readTime(f);
+                } catch (ParseException e1) {
+                	continue;
+                }
 				if (e.time == null)
 					continue;
@@ -364,5 +368,15 @@
 
 	private void sync(File f) {
-		Date exifDate = ExifReader.readTime(f);
+		Date exifDate;
+        try {
+	        exifDate = ExifReader.readTime(f);
+        } catch (ParseException e) {
+        	JOptionPane.showMessageDialog(Main.parent, tr("The date in file \"{0}\" could not be parsed.", f.getName()));
+        	return;
+        }
+		if (exifDate == null) {
+			JOptionPane.showMessageDialog(Main.parent, tr("There is no EXIF time within the file \"{0}\".", f.getName()));
+			return;
+		}
 		JPanel p = new JPanel(new GridBagLayout());
 		p.add(new JLabel(tr("Image")), GBC.eol());
Index: /src/org/openstreetmap/josm/tools/DateParser.java
===================================================================
--- /src/org/openstreetmap/josm/tools/DateParser.java	(revision 106)
+++ /src/org/openstreetmap/josm/tools/DateParser.java	(revision 107)
@@ -26,4 +26,5 @@
 		"MM/dd/yyyy'T'HH:mm:ssZ",
 		"MM/dd/yyyy'T'HH:mm:ss",
+		"yyyy:MM:dd HH:mm:ss", // unfcklvble, but I have seen this...
 	};
 	
Index: /src/org/openstreetmap/josm/tools/ExifReader.java
===================================================================
--- /src/org/openstreetmap/josm/tools/ExifReader.java	(revision 106)
+++ /src/org/openstreetmap/josm/tools/ExifReader.java	(revision 107)
@@ -2,4 +2,5 @@
 
 import java.io.File;
+import java.text.ParseException;
 import java.util.Date;
 import java.util.Iterator;
@@ -16,5 +17,5 @@
 public class ExifReader {
 
-	@SuppressWarnings("unchecked") public static Date readTime(File filename) {
+	@SuppressWarnings("unchecked") public static Date readTime(File filename) throws ParseException {
 		try {
 	        Metadata metadata = JpegMetadataReader.readMetadata(filename);
@@ -26,4 +27,6 @@
 	            }
 	        }
+		} catch (ParseException e) {
+			throw e;
         } catch (Exception e) {
 	        e.printStackTrace();
