Index: src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java
===================================================================
--- src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java	(revision 18289)
+++ src/org/openstreetmap/josm/data/validation/tests/UnconnectedWays.java	(working copy)
@@ -57,6 +57,8 @@
 
     static final double DETOUR_FACTOR = 4;
 
+    private final Set<String> priorityHighwayTags = new HashSet<>(Highways.CLASSIFIED_HIGHWAYS);
+
     protected abstract boolean isCandidate(OsmPrimitive p);
 
     protected boolean isWantedWay(Way w) {
@@ -368,8 +370,18 @@
         for (Entry<Node, MyWaySegment> error : errorMap.entrySet()) {
             Node node = error.getKey();
             MyWaySegment ws = error.getValue();
+            String usedMsg = message;
+            // #12493 - Categorize 'Way end node near other highway' warnings.
+            if (isHighwayTest && priorityHighwayTags.contains(ws.w.get(HIGHWAY))) {
+                // Get parent way from nearby end node and extract highway tag.
+                Way parentWay = getWantedParentWay(node);
+                if (priorityHighwayTags.contains(parentWay.get(HIGHWAY))) {
+                    // both ways are major, change message
+                    usedMsg = tr("Way end node near other highway - Major");
+                }
+            }
             errors.add(TestError.builder(this, severity, code)
-                    .message(message)
+                    .message(usedMsg)
                     .primitives(node, ws.w)
                     .highlight(node)
                     .build());
@@ -392,7 +404,7 @@
         if (!searchNodes.isEmpty()) {
             maxLen = DETOUR_FACTOR * mindist;
             if (isHighwayTest) {
-                addErrors(Severity.WARNING, getHighwayEndNodesNearOtherHighway(), tr("Way end node near other highway"));
+                addErrors(Severity.WARNING, getHighwayEndNodesNearOtherHighway(), tr("Way end node near other highway - Minor"));
             } else {
                 addErrors(Severity.WARNING, getWayEndNodesNearOtherWay(), tr("Way end node near other way"));
             }
