Index: trunk/src/org/openstreetmap/josm/io/OsmWriter.java
===================================================================
--- trunk/src/org/openstreetmap/josm/io/OsmWriter.java	(revision 14273)
+++ trunk/src/org/openstreetmap/josm/io/OsmWriter.java	(revision 14274)
@@ -121,5 +121,5 @@
         }
         if (locked) {
-            out.print("' locked=true");
+            out.print("' locked='true");
         }
         out.println("' generator='JOSM'>");
Index: trunk/test/unit/org/openstreetmap/josm/io/OsmWriterTest.java
===================================================================
--- trunk/test/unit/org/openstreetmap/josm/io/OsmWriterTest.java	(revision 14273)
+++ trunk/test/unit/org/openstreetmap/josm/io/OsmWriterTest.java	(revision 14274)
@@ -16,4 +16,5 @@
 
 import org.junit.Test;
+import org.openstreetmap.josm.data.osm.DataSet;
 import org.openstreetmap.josm.data.osm.DownloadPolicy;
 import org.openstreetmap.josm.data.osm.NodeData;
@@ -69,3 +70,20 @@
                 baos.toString("UTF-8").replaceAll("\r", "").replaceAll("\n", ""));
     }
+
+    /**
+     * Unit test of {@link OsmWriter#write} with dataset locked.
+     * @throws IOException if an I/O error occurs
+     */
+    @Test
+    public void testWriteLock() throws IOException {
+        ByteArrayOutputStream baos = new ByteArrayOutputStream();
+        try (PrintWriter out = new PrintWriter(new OutputStreamWriter(baos, StandardCharsets.UTF_8));
+             OsmWriter writer = OsmWriterFactory.createOsmWriter(out, true, OsmWriter.DEFAULT_API_VERSION)) {
+            DataSet ds = new DataSet();
+            ds.lock();
+            writer.write(ds);
+        }
+        assertEquals("<?xml version='1.0' encoding='UTF-8'?><osm version='0.6' locked='true' generator='JOSM'></osm>",
+                baos.toString("UTF-8").replaceAll("\r", "").replaceAll("\n", ""));
+    }
 }
