Index: trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(revision 13720)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/CrossingWays.java	(revision 13721)
@@ -42,5 +42,5 @@
      */
     private enum WayType {
-        BUILDING, HIGHWAY, RESIDENTIAL_AREA, WATERWAY, WAY;
+        BUILDING, HIGHWAY, RAILWAY, RESIDENTIAL_AREA, WATERWAY, WAY;
 
         static WayType of(Way w) {
@@ -49,4 +49,6 @@
             else if (w.hasKey(CrossingWays.HIGHWAY))
                 return HIGHWAY;
+            else if (isRailway(w))
+                return RAILWAY;
             else if (isResidentialArea(w))
                 return RESIDENTIAL_AREA;
@@ -101,6 +103,6 @@
                 return true;
             }
-            if ((w1.hasKey(HIGHWAY) && isResidentialArea(w2))
-             || (w2.hasKey(HIGHWAY) && isResidentialArea(w1)))
+            if ((w1.hasKey(HIGHWAY, RAILWAY, WATERWAY) && isResidentialArea(w2))
+             || (w2.hasKey(HIGHWAY, RAILWAY, WATERWAY) && isResidentialArea(w1)))
                 return true;
             if (isSubwayOrTramOrRazed(w2)) {
@@ -128,4 +130,6 @@
                     case HIGHWAY:
                         return tr("Crossing highways");
+                    case RAILWAY:
+                        return tr("Crossing railways");
                     case RESIDENTIAL_AREA:
                         return tr("Crossing residential areas");
@@ -142,4 +146,6 @@
                             case HIGHWAY:
                                 return tr("Crossing building/highway");
+                            case RAILWAY:
+                                return tr("Crossing building/railway");
                             case RESIDENTIAL_AREA:
                                 return tr("Crossing building/residential area");
@@ -152,6 +158,6 @@
                     case HIGHWAY:
                         switch (types[1]) {
-                            case RESIDENTIAL_AREA:
-                                return tr("Crossing highway/residential area");
+                            case RAILWAY:
+                                return tr("Crossing highway/railway");
                             case WATERWAY:
                                 return tr("Crossing highway/waterway");
@@ -160,8 +166,14 @@
                                 return tr("Crossing highway/way");
                         }
+                    case RAILWAY:
+                        switch (types[1]) {
+                            case WATERWAY:
+                                return tr("Crossing railway/waterway");
+                            case WAY:
+                            default:
+                                return tr("Crossing railway/way");
+                        }
                     case RESIDENTIAL_AREA:
                         switch (types[1]) {
-                            case WATERWAY:
-                                return tr("Crossing residential area/waterway");
                             case WAY:
                             default:
Index: trunk/src/org/openstreetmap/josm/data/validation/tests/RightAngleBuildingTest.java
===================================================================
--- trunk/src/org/openstreetmap/josm/data/validation/tests/RightAngleBuildingTest.java	(revision 13720)
+++ trunk/src/org/openstreetmap/josm/data/validation/tests/RightAngleBuildingTest.java	(revision 13721)
@@ -70,5 +70,5 @@
         super.startTest(monitor);
         maxAngleDelta = Config.getPref().getDouble("validator.RightAngleBuilding.maximumDelta", 10.0);
-        minAngleDelta = Config.getPref().getDouble("validator.RightAngleBuilding.minimumDelta", 0.25);
+        minAngleDelta = Config.getPref().getDouble("validator.RightAngleBuilding.minimumDelta", 1.0);
     }
 
