diff --git a/commentary.org b/commentary.org
index ed713015f1b578a312a804dfc72d466cc6706989..a7529fb6f65cf7175dd00b87b7e6880792a04929 100644
--- a/commentary.org
+++ b/commentary.org
@@ -17,6 +17,8 @@
    This leads to graphics bugs
 ** TODO Resolution changes
    Almost possible, but clientArea returns the _old_ resolution
+** TODO FFM bug when unminimizing
+   Possibly related to keepAbove/keepBelow
 * DONE Avoid struts
   Almost finished, but doesn't directly react to changes
   Needs an additional kwin signal
@@ -48,6 +50,9 @@
    Each client belongs to multiple activities, but is on the same desktop on each
    There can only be one activity at the same time
 *** Needs changes in tilingmanager (large) and maybe tile and tilelist
+** Switch to BSP/BinaryTree-based tiling
+   This requires a rather large change, but should add flawless resizing without special code in the layouts
+   and should make layouts much simpler to write
 * TODO Report
 ** Bugs
 *** ClientArea doesn't update
diff --git a/contents/code/tiling.js b/contents/code/tiling.js
index 02635f785020f8374812e537e4eb72e4a1ed1ac6..fc75b67a25fc7375c9f95094f71c7964de589b82 100644
--- a/contents/code/tiling.js
+++ b/contents/code/tiling.js
@@ -94,23 +94,19 @@ Tiling.prototype.addTile = function(tile, x, y) {
 		} else {
 			if (tile.tileIndex > -1) {
 				this.tiles.splice(tile.tileIndex, 0, tile);
-				for (i = 0; i < this.tiles.length; i++) {
-					this.tiles[i].tileIndex = i;
-					this.tiles[i].syncCustomProperties();
-				}
 			} else {
 				if (readConfig("startAsMaster", false) == true) {
 					tile.tileIndex = 0;
 					this.tiles.splice(tile.tileIndex, 0, tile);
-					for (i = 0; i < this.tiles.length; i++) {
-						this.tiles[i].tileIndex = i;
-						this.tiles[i].syncCustomProperties();
-					}
 				} else {
 					tile.tileIndex = this.tiles.length;
 					this.tiles.push(tile);
 				}
 			}
+			for (i = 0; i < this.tiles.length; i++) {
+				this.tiles[i].tileIndex = i;
+				this.tiles[i].syncCustomProperties();
+			}
 		}
 		this._updateAllTiles();
 	} catch(err) {