diff --git a/room/huette16.c b/room/huette16.c
new file mode 100644
index 0000000..23483a0
--- /dev/null
+++ b/room/huette16.c
@@ -0,0 +1,41 @@
+inherit "/std/room";
+
+#include __PATH__(1)"defs.h"
+
+private void greeting();
+private string* greeted = ({});
+
+
+protected void create() {
+  ::create();
+
+  SetProp(P_INT_SHORT, "Eine schummrige Huette");
+  SetProp(P_INT_LONG, BSLF(
+    "Du kannst hier im Raum Krempel hinlegen, der wird bei Raumreset in die "
+    "Kiste verschoben. Das kannst Du mit\n"
+    "  xcall $h->reset()\n"
+    "auch provozieren."));
+
+  SetProp(P_LIGHT, 1);
+  SetProp(P_INDOORS, 1);
+  SetProp(P_LIGHT_TYPE, LT_GLOWING);
+
+  AddItem(__PATH__(1)"obj/kiste", REFRESH_REMOVE);
+}
+
+void reset() {
+  ::reset();
+
+  object kiste = present_clone(__PATH__(1)"obj/kiste");
+  if (!objectp(kiste)) return; // sollte nicht passieren
+
+  object *zeugs = filter(all_inventory(), #'non_living);
+  if (arrayp(zeugs) && sizeof(zeugs)) {
+    tell_room(TO, BSLF(
+      "Der Raum gurgelt, die Kiste ruelpst."));
+    zeugs->move(kiste, M_PUT);
+  } else {
+    tell_room(TO, BSLF(
+      "Die Kiste geht diesmal leer aus."));
+  }
+}
