diff --git a/d/seher/haeuser/raum.c b/d/seher/haeuser/raum.c
index 74099d3..57ad7c8 100644
--- a/d/seher/haeuser/raum.c
+++ b/d/seher/haeuser/raum.c
@@ -1708,24 +1708,26 @@
 
     lines = old_explode(rep, "\n");
     s = sizeof(lines);
-    for (l=0; prev == 0; l++)
+    for ( l=0; prev == 0; l++ ) {
       if (sscanf(lines[l], "%s von %s in Raum %d %s:", d, d, nr, d)==4)
-    prev=lines[l];
+        prev = lines[l];
+    }
 
-    for ( new = ({}), tmp=({}); l<s; l++) {
-      m=sscanf(lines[l], "%s von %s in Raum %d %s:", d, d, nextNr, d);
+    for ( new=({}), tmp=({}); l<s; l++ ) {
+      m = sscanf(lines[l], "%s von %s in Raum %d %s:", d, d, nextNr, d);
       if (m != 4 && nr == rNum)
-    tmp += ({ lines[l] });
+        tmp += ({ lines[l] });
 
       if (m==4) {
-    if (sizeof(tmp)) {
-      new = new + ({ prev }) + tmp;
-      tmp = ({});
-    }
-    nr = nextNr;
-    prev = lines[l];
+        if (sizeof(tmp)) {
+          new = new + ({ prev }) + tmp;
+          tmp = ({});
+        }
+        nr = nextNr;
+        prev = lines[l];
       }
     }
+
     if (sizeof(tmp))
       new = new + ({prev}) + tmp;
     rep = implode(new, "\n");
