Index: app/actions/layers-actions.c
===================================================================
--- app/actions/layers-actions.c	(revision 23544)
+++ app/actions/layers-actions.c	(working copy)
@@ -528,7 +528,7 @@
   SET_SENSITIVE ("layers-lower",           layer && !fs && !ac && next);
   SET_SENSITIVE ("layers-lower-to-bottom", layer && !fs && !ac && next);

-  SET_SENSITIVE ("layers-anchor",          layer &&  fs && !ac);
+  SET_SENSITIVE ("layers-anchor",          layer && !ac);
   SET_SENSITIVE ("layers-merge-down",      layer && !fs && !ac && next);
   SET_SENSITIVE ("layers-merge-layers",    layer && !fs && !ac);
   SET_SENSITIVE ("layers-flatten-image",   layer && !fs && !ac);
Index: app/actions/layers-commands.c
===================================================================
--- app/actions/layers-commands.c	(revision 23544)
+++ app/actions/layers-commands.c	(working copy)
@@ -41,6 +41,7 @@
 #include "core/gimplayer.h"
 #include "core/gimplayer-floating-sel.h"
 #include "core/gimplayermask.h"
+#include "core/gimplist.h"
 #include "core/gimptoolinfo.h"
 #include "core/gimpundostack.h"
 #include "core/gimpprogress.h"
@@ -416,6 +417,17 @@
       floating_sel_anchor (layer);
       gimp_image_flush (image);
     }
+  else
+    {
+      GList *list;
+
+      if (g_list_next (g_list_find (GIMP_LIST (image->layers)->list, layer)))
+        {
+          gimp_image_merge_down (image, layer, action_data_get_context (data),
+                                 GIMP_EXPAND_AS_NECESSARY);
+          gimp_image_flush (image);
+        }
+    }
 }

 void
