Index: /trunk/src/org/openstreetmap/josm/actions/RedoAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/RedoAction.java	(revision 3809)
+++ /trunk/src/org/openstreetmap/josm/actions/RedoAction.java	(revision 3810)
@@ -2,6 +2,6 @@
 package org.openstreetmap.josm.actions;
 
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -37,5 +37,5 @@
     @Override
     protected void updateEnabledState() {
-        setEnabled(Main.map != null);
+        setEnabled(Main.main != null && !Main.main.undoRedo.redoCommands.isEmpty());
     }
 }
Index: /trunk/src/org/openstreetmap/josm/actions/UndoAction.java
===================================================================
--- /trunk/src/org/openstreetmap/josm/actions/UndoAction.java	(revision 3809)
+++ /trunk/src/org/openstreetmap/josm/actions/UndoAction.java	(revision 3810)
@@ -2,6 +2,6 @@
 package org.openstreetmap.josm.actions;
 
+import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 import static org.openstreetmap.josm.tools.I18n.tr;
-import static org.openstreetmap.josm.gui.help.HelpUtil.ht;
 
 import java.awt.event.ActionEvent;
@@ -37,5 +37,6 @@
     @Override
     protected void updateEnabledState() {
-        setEnabled(Main.map != null);
+        setEnabled(Main.main != null && !Main.main.undoRedo.commands.isEmpty());
     }
+
 }
