diff --git a/contents/code/tilelist.js b/contents/code/tilelist.js
index 4d68a56d1fa0658a7da93f0d8d2b2538618dcec7..632834bf736713829236ed795ad830dbc488cd51 100644
--- a/contents/code/tilelist.js
+++ b/contents/code/tilelist.js
@@ -172,6 +172,8 @@ TileList.prototype._onClientRemoved = function(client) {
     if (!(tileIndex >= 0 && tileIndex < this.tiles.length)) {
         return;
     }
+	// Unset keepBelow because we set it when tiling
+	client.keepBelow = false;
     // Remove the client from its tile
     var tile = this.tiles[tileIndex];
     if (tile.clients.length == 1) {
diff --git a/contents/code/tilingmanager.js b/contents/code/tilingmanager.js
index 88921e9f49c0db4d44a2e4747bb308aeb340b824..68dd5fa418aec1bc145cf507bc49f87d2fcc6672 100644
--- a/contents/code/tilingmanager.js
+++ b/contents/code/tilingmanager.js
@@ -167,16 +167,13 @@ function TilingManager() {
 							 return;
 						 }
 						 print("Toggling Floating for ", client.resourceClass.toString());
-						 // FIXME: This sometimes retains value!
 						 client.tiling_floating = !client.tiling_floating;
 						 print(client.tiling_floating);
 						 if (client.tiling_floating == true) {
 							 self.tiles._onClientRemoved(client);
 						 } else {
 							 self.tiles.addClient(client);
-							 client.keepBelow = true;
 						 }
-						 self.tiles.retile();
 					 });
     registerShortcut("Switch Focus Left",
                      "Switch Focus Left",
@@ -243,7 +240,6 @@ function TilingManager() {
 					self.tiles._onClientRemoved(client);
 				} else {
 					self.tiles.addClient(client);
-					client.keepBelow = true;
 				}
 				self.tiles.retile();
 			}