diff --git a/app.js b/app.js
index c69fbae..d258f85 100644
--- a/app.js
+++ b/app.js
@@ -778,7 +778,7 @@ function lockDown() {
     scheduler.clearInterval(fall)
 
     blocksPosition = matrix.piece.minoesPosition[matrix.piece.orientation]
-        .translate(matrix.piece.center)
+                        .translate(matrix.piece.center)
     if (blocksPosition.some(minoPosition => minoPosition.y >= 4)) {
         blocksPosition.forEach(minoPosition => {
             matrix.blocks[minoPosition.y][minoPosition.x] = matrix.piece.className
@@ -798,16 +798,18 @@ function lockDown() {
         }
 
         // Cleared lines
-        let clearedLines = Array.from(new Set(blocksPosition.map(minoPosition => minoPosition.y)))
-            .filter(y =>  matrix.blocks[y].filter(lockedMino => lockedMino).length == matrix.columns)
-            .sort()
-        for (y of clearedLines) {
-            matrix.blocks.splice(y, 1)
-            matrix.blocks.unshift(Array(matrix.columns))
-            matrix.table.rows[y].classList.add("cleared-line-animation")
+        let nbClearedLines = 0
+        for (let y=0; y<matrix.rows; y++) {
+            let row = matrix.blocks[y]
+            if (row.filter(lockedMino => lockedMino).length == matrix.columns) {
+                matrix.blocks.splice(y, 1)
+                matrix.blocks.unshift(Array(matrix.columns))
+                matrix.table.rows[y].classList.add("cleared-line-animation")
+            }
         }
+
         matrix.redraw()
-        stats.lockDown(clearedLines.length, tSpin)
+        stats.lockDown(nbClearedLines, tSpin)
         
         generate()
     } else {