Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 17631)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawAction.java	(revision 17632)
@@ -881,5 +881,5 @@
             return; // Don't create zero length way segments.
 
-        showStatusInfo(-1, -1, -1, snapHelper.isSnapOn());
+        showStatusInfo(Double.NaN, -1, -1, snapHelper.isSnapOn());
 
         double curHdg = Utils.toDegrees(getCurrentBaseNode().getEastNorth()
Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawSnapHelper.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawSnapHelper.java	(revision 17631)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/DrawSnapHelper.java	(revision 17632)
@@ -341,5 +341,5 @@
         EastNorth p0 = drawAction.getCurrentBaseNode().getEastNorth();
         EastNorth snapPoint = currentEN;
-        double angle = -1;
+        double angle = Double.NaN;
 
         double activeBaseHeading = (customBaseHeading >= 0) ? customBaseHeading : baseHeading;
Index: /trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 17631)
+++ /trunk/src/org/openstreetmap/josm/actions/mapmode/SelectAction.java	(revision 17632)
@@ -59,4 +59,5 @@
 import org.openstreetmap.josm.tools.PlatformManager;
 import org.openstreetmap.josm.tools.Shortcut;
+import org.openstreetmap.josm.tools.Utils;
 
 /**
@@ -768,4 +769,12 @@
                 if (doesImpactStatusLine(affectedNodes, ways)) {
                     MainApplication.getMap().statusLine.setDist(ways);
+                }
+                if (c instanceof RotateCommand) {
+                    double angle = Utils.toDegrees(((RotateCommand) c).getRotationAngle());
+                    MainApplication.getMap().statusLine.setAngle(angle);
+                } else if (c instanceof ScaleCommand) {
+                    // U+00D7 MULTIPLICATION SIGN
+                    String angle = String.format("%.2f", ((ScaleCommand) c).getScalingFactor()) + " \u00d7";
+                    MainApplication.getMap().statusLine.setAngleText(angle);
                 }
                 return true;
Index: /trunk/src/org/openstreetmap/josm/command/RotateCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/RotateCommand.java	(revision 17631)
+++ /trunk/src/org/openstreetmap/josm/command/RotateCommand.java	(revision 17632)
@@ -79,4 +79,12 @@
 
     /**
+     * Returns the rotation angle.
+     * @return The rotation angle
+     */
+    public double getRotationAngle() {
+        return rotationAngle;
+    }
+
+    /**
      * Rotate nodes.
      */
Index: /trunk/src/org/openstreetmap/josm/command/ScaleCommand.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/command/ScaleCommand.java	(revision 17631)
+++ /trunk/src/org/openstreetmap/josm/command/ScaleCommand.java	(revision 17632)
@@ -75,4 +75,12 @@
 
     /**
+     * Returns the scaling factor.
+     * @return The scaling factor
+     */
+    public double getScalingFactor() {
+        return scalingFactor;
+    }
+
+    /**
      * Scale nodes.
      */
Index: /trunk/src/org/openstreetmap/josm/gui/MapStatus.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 17631)
+++ /trunk/src/org/openstreetmap/josm/gui/MapStatus.java	(revision 17632)
@@ -1085,9 +1085,17 @@
 
     /**
+     * Sets the angle to display in the angle panel. NaN yields "--".
+     * @param a The angle
+     */
+    public void setAngle(double a) {
+        angleText.setText(!Double.isFinite(a) ? "--" : DECIMAL_FORMAT.format(a) + " \u00B0");
+    }
+
+    /**
      * Sets the angle to display in the angle panel
-     * @param a The angle
-     */
-    public void setAngle(double a) {
-        angleText.setText(a < 0 ? "--" : DECIMAL_FORMAT.format(a) + " \u00B0");
+     * @param text The angle text
+     */
+    public void setAngleText(String text) {
+        angleText.setText(text);
     }
 
