diff --git a/app/templates/corpora/corpus.html.j2 b/app/templates/corpora/corpus.html.j2
index b1156a6c41e249d479ec7f80ccfbf16559c9cb71..b6058be5b78b0bf54d12cb18b2ed30f1c7e3484a 100644
--- a/app/templates/corpora/corpus.html.j2
+++ b/app/templates/corpora/corpus.html.j2
@@ -7,7 +7,20 @@
 <div class="col s12 m4">
   <h3 id="title">{{ corpus.title }}</h3>
   <p id="description">{{ corpus.description }}</p>
-  <a class="btn status waves-effect waves-light" id="status"></a>
+  <div class="active preloader-wrapper small" id="progress-indicator">
+    <div class="spinner-layer spinner-blue-only">
+      <div class="circle-clipper left">
+        <div class="circle"></div>
+      </div>
+      <div class="gap-patch">
+        <div class="circle"></div>
+      </div>
+      <div class="circle-clipper right">
+        <div class="circle"></div>
+      </div>
+    </div>
+  </div>
+  <span class="chip status white-text" id="status"></span>
 </div>
 
 <div class="col s12 m8">
@@ -150,8 +163,12 @@
     }
 
     setStatus(status) {
-      let analyseBtn, statusElement;
+      let analyseBtn, progressIndicator, statusElement;
 
+      if (status != "preparable" && status != "preparing") {
+        progressIndicator = document.getElementById("progress-indicator");
+        progressIndicator.classList.add("hide");
+      }
       statusElement = document.getElementById("status");
       statusElement.dataset.status = status;
       analyseBtn = document.getElementById('analyse');