diff --git a/GameOfLife.c b/GameOfLife.c
index 6a8bd0e277519651446a3a8974b56609250425fe..19e2a02789a125454115db3436a6da1f3ae1e604 100644
--- a/GameOfLife.c
+++ b/GameOfLife.c
@@ -287,7 +287,9 @@ void incrementGeneration (game_t *game)
 	int i, j;
 
 	for ( i=0; i < game->next.rows; i++ )
-			for ( j=0; j < game->next.cols; j++ )
+		for ( j=0; j < game->next.cols; j++ )
+			/* Change the data only if it changed */
+			if (game->this.generation[i][j] != game->next.generation[i][j])
 				game->this.generation[i][j] = game->next.generation[i][j];
 
 	game->generationNumber++;