Index: /trunk/src/org/openstreetmap/josm/gui/download/OverpassDownloadSource.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/download/OverpassDownloadSource.java	(revision 13334)
+++ /trunk/src/org/openstreetmap/josm/gui/download/OverpassDownloadSource.java	(revision 13335)
@@ -192,5 +192,5 @@
             };
 
-            return new OverpassDownloadData(query, errorReporter);
+            return new OverpassDownloadData(OverpassDownloadReader.fixQuery(query), errorReporter);
         }
 
Index: /trunk/src/org/openstreetmap/josm/io/OverpassDownloadReader.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/io/OverpassDownloadReader.java	(revision 13334)
+++ /trunk/src/org/openstreetmap/josm/io/OverpassDownloadReader.java	(revision 13335)
@@ -394,3 +394,13 @@
         return ds;
     }
+
+    /**
+     * Fixes Overpass API query to make sure it will be accepted by JOSM.
+     * @param query Overpass query to check
+     * @return fixed query
+     * @since 13335
+     */
+    public static String fixQuery(String query) {
+        return query.replaceFirst("out( body| skel| ids)?( id| qt)?;", "out meta$2;");
+    }
 }
Index: /trunk/test/unit/org/openstreetmap/josm/io/OverpassDownloadReaderTest.java
===================================================================
--- /trunk/test/unit/org/openstreetmap/josm/io/OverpassDownloadReaderTest.java	(revision 13334)
+++ /trunk/test/unit/org/openstreetmap/josm/io/OverpassDownloadReaderTest.java	(revision 13335)
@@ -175,3 +175,37 @@
                 "out meta;").matches());
     }
+
+    /**
+     * Test {@link OverpassDownloadReader#fixQuery(String)}.
+     */
+    @Test
+    public void testFixQuery() {
+        assertEquals("out meta;", OverpassDownloadReader.fixQuery("out;"));
+        assertEquals("out meta;", OverpassDownloadReader.fixQuery("out body;"));
+        assertEquals("out meta;", OverpassDownloadReader.fixQuery("out skel;"));
+        assertEquals("out meta;", OverpassDownloadReader.fixQuery("out ids;"));
+
+        assertEquals("out meta id;", OverpassDownloadReader.fixQuery("out id;"));
+        assertEquals("out meta id;", OverpassDownloadReader.fixQuery("out body id;"));
+        assertEquals("out meta id;", OverpassDownloadReader.fixQuery("out skel id;"));
+        assertEquals("out meta id;", OverpassDownloadReader.fixQuery("out ids id;"));
+
+        assertEquals("out meta qt;", OverpassDownloadReader.fixQuery("out qt;"));
+        assertEquals("out meta qt;", OverpassDownloadReader.fixQuery("out body qt;"));
+        assertEquals("out meta qt;", OverpassDownloadReader.fixQuery("out skel qt;"));
+        assertEquals("out meta qt;", OverpassDownloadReader.fixQuery("out ids qt;"));
+
+        assertEquals("[timeout:25];\n" +
+                "(\n" +
+                "  node[\"historic\"=\"ringfort\"];\n" +
+                "  way[\"historic\"=\"ringfort\"];\n" +
+                ");\n" +
+                "out meta;",
+            OverpassDownloadReader.fixQuery("[timeout:25];\n" +
+                "(\n" +
+                "  node[\"historic\"=\"ringfort\"];\n" +
+                "  way[\"historic\"=\"ringfort\"];\n" +
+                ");\n" +
+                "out body;"));
+    }
 }
