diff --git a/app/src/full/java/com/topjohnwu/magisk/FlashActivity.java b/app/src/full/java/com/topjohnwu/magisk/FlashActivity.java
index ab45565e2..0e419330a 100644
--- a/app/src/full/java/com/topjohnwu/magisk/FlashActivity.java
+++ b/app/src/full/java/com/topjohnwu/magisk/FlashActivity.java
@@ -100,11 +100,23 @@ public class FlashActivity extends BaseActivity {
 
         logs = new ArrayList<>();
         CallbackList<String> console = new CallbackList<String>(new ArrayList<>()) {
+
+            private void updateUI() {
+                flashLogs.setText(TextUtils.join("\n", this));
+                sv.postDelayed(() -> sv.fullScroll(ScrollView.FOCUS_DOWN), 10);
+            }
+
             @Override
             public void onAddElement(String s) {
                 logs.add(s);
-                flashLogs.setText(TextUtils.join("\n", this));
-                sv.postDelayed(() -> sv.fullScroll(ScrollView.FOCUS_DOWN), 10);
+                updateUI();
+            }
+
+            @Override
+            public String set(int i, String s) {
+                String ret = super.set(i, s);
+                Data.mainHandler.post(this::updateUI);
+                return ret;
             }
         };
 
diff --git a/app/src/full/java/com/topjohnwu/magisk/asyncs/InstallMagisk.java b/app/src/full/java/com/topjohnwu/magisk/asyncs/InstallMagisk.java
index 98002f83a..e295229c4 100644
--- a/app/src/full/java/com/topjohnwu/magisk/asyncs/InstallMagisk.java
+++ b/app/src/full/java/com/topjohnwu/magisk/asyncs/InstallMagisk.java
@@ -101,14 +101,15 @@ public class InstallMagisk extends ParallelTask<Void, Void, Boolean> {
         private ProgressStream(HttpURLConnection conn) throws IOException {
             super(conn.getInputStream());
             total = conn.getContentLength();
+            console.add("... 0%");
         }
 
         private void update(int step) {
             progress += step;
-            int curr = (int) (10 * (double) progress / total);
+            int curr = (int) (100 * (double) progress / total);
             if (prev != curr) {
                 prev = curr;
-                console.add("... " + prev * 10 + "%");
+                console.set(console.size() - 1, "... " + prev + "%");
             }
         }