diff --git a/src/builtin.cmod b/src/builtin.cmod
index 9d24ad6f7d363ccba07f867aa072e6c59911675d..dd1835bb437168174fd30226dd3a06e1405f518f 100644
--- a/src/builtin.cmod
+++ b/src/builtin.cmod
@@ -182,6 +182,17 @@ PIKEFUN int string_width(string s)
   RETURN 8 * (1 << s->size_shift);
 }
 
+PIKEFUN 1 m_delete(mapping(mixed:1=mixed) m, mixed val)
+  efun;
+  optflags OPT_SIDE_EFFECT;
+{
+  struct svalue s;
+  map_delete_no_free(m, val, &s);
+  pop_n_elems(args);
+  *sp=s;
+  sp++;
+}
+
 void init_builtin(void)
 {
 INIT