diff --git a/app/corpora/views.py b/app/corpora/views.py
index 2e5e9130e43e393d4a7b4c487263d317396661b8..e6c82d779003016518fbadc5e9969b5399042e33 100644
--- a/app/corpora/views.py
+++ b/app/corpora/views.py
@@ -85,9 +85,12 @@ def prepare_corpus(corpus_id):
     corpus = Corpus.query.get_or_404(corpus_id)
     if not (corpus.creator == current_user or current_user.is_administrator()):
         abort(403)
-    corpus.status = 'preparable'
-    db.session.commit()
-    flash('Corpus marked for preparation!')
+    if len(corpus.files.all()) > 0:
+        corpus.status = 'preparable'
+        db.session.commit()
+        flash('Corpus marked for preparation!')
+    else:
+        flash('Can not prepare corpus, please add corpus file(s).')
     return redirect(url_for('corpora.corpus', corpus_id=corpus_id))
 
 
diff --git a/app/templates/corpora/corpus.html.j2 b/app/templates/corpora/corpus.html.j2
index 7ab6fcf5cb5af347ce9a5f9f3ee11749b1120094..89a2d49b50afae01ce14a5fb0ab9e05e6a31df58 100644
--- a/app/templates/corpora/corpus.html.j2
+++ b/app/templates/corpora/corpus.html.j2
@@ -24,7 +24,9 @@
       {% if corpus.status == 'prepared' %}
       <a href="{{ url_for('corpora.corpus_analysis', corpus_id=corpus.id) }}" class="waves-effect waves-light btn"><i class="material-icons left">help</i>Analyse</a>
       {% endif %}
+      {% if corpus.files[0] is defined %}
       <a href="{{ url_for('corpora.prepare_corpus', corpus_id=corpus.id) }}" class="waves-effect waves-light btn"><i class="material-icons left">whatshot</i>Prepare</a>
+      {% endif %}
       <a data-target="delete-corpus-modal" class="waves-effect waves-light btn red modal-trigger"><i class="material-icons left">delete</i>Delete Corpus</a>
     </div>
   </div>