Index: src/org/openstreetmap/josm/gui/io/UploadDialogModel.java
===================================================================
--- src/org/openstreetmap/josm/gui/io/UploadDialogModel.java	(revision 18201)
+++ src/org/openstreetmap/josm/gui/io/UploadDialogModel.java	(working copy)
@@ -74,7 +74,7 @@
         String hashtags = String.join(";",
             Arrays.stream(comment.split("\\s", -1))
                 .map(s -> Utils.strip(s, ",;"))
-                .filter(s -> s.matches("#[a-zA-Z][-_a-zA-Z0-9]+"))
+                .filter(s -> s.matches("#[a-zA-Z0-9][-_a-zA-Z0-9]+"))
                 .collect(Collectors.toList()));
         return hashtags.isEmpty() ? null : hashtags;
     }
Index: test/unit/org/openstreetmap/josm/gui/io/UploadDialogModelTest.java
===================================================================
--- test/unit/org/openstreetmap/josm/gui/io/UploadDialogModelTest.java	(revision 18201)
+++ test/unit/org/openstreetmap/josm/gui/io/UploadDialogModelTest.java	(working copy)
@@ -37,7 +37,7 @@
         assertNull(model.findHashTags(" #"));
         assertNull(model.findHashTags(" # "));
         assertNull(model.findHashTags(" https://example.com/#map "));
-        assertNull(model.findHashTags("#59606086"));
+        assertEquals("#59606086", model.findHashTags("#59606086"));
         assertEquals("#foo", model.findHashTags(" #foo "));
         assertEquals("#foo;#bar", model.findHashTags(" #foo #bar baz"));
         assertEquals("#foo;#bar", model.findHashTags(" #foo, #bar, baz"));
