diff --git a/app/static/app/img/404.png b/app/static/app/img/404.png
new file mode 100644
index 00000000..eece9762
Binary files /dev/null and b/app/static/app/img/404.png differ
diff --git a/app/static/app/img/500.png b/app/static/app/img/500.png
new file mode 100644
index 00000000..b94a00aa
Binary files /dev/null and b/app/static/app/img/500.png differ
diff --git a/app/templates/app/404.html b/app/templates/app/404.html
new file mode 100644
index 00000000..530268a0
--- /dev/null
+++ b/app/templates/app/404.html
@@ -0,0 +1,11 @@
+{% extends "app/base.html" %}
+{% load settings %}
+{% block page-wrapper %}
+
+
404 Page Not Found
+
Are you sure the address is correct?
+

+
+
+{{ SETTINGS.theme.html_after_header|safe }}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/app/500.html b/app/templates/app/500.html
new file mode 100644
index 00000000..eec99017
--- /dev/null
+++ b/app/templates/app/500.html
@@ -0,0 +1,11 @@
+{% extends "app/base.html" %}
+{% load settings %}
+{% block page-wrapper %}
+
+
500 Internal Server Error
+
Something happened. The server logs contain more information.
+

+
+
+{{ SETTINGS.theme.html_after_header|safe }}
+{% endblock %}
\ No newline at end of file
diff --git a/app/templates/app/index.html b/app/templates/app/index.html
deleted file mode 100644
index 70f30a4b..00000000
--- a/app/templates/app/index.html
+++ /dev/null
@@ -1,5 +0,0 @@
-{% extends "app/base.html" %}
-
-{% block content %}
-{{ hello }}
-{% endblock %}
diff --git a/app/urls.py b/app/urls.py
index 4f759d9a..248e80e3 100644
--- a/app/urls.py
+++ b/app/urls.py
@@ -1,5 +1,7 @@
import sys
from django.conf.urls import url, include
+from django.shortcuts import render_to_response
+from django.template import RequestContext
from .views import app as app_views, public as public_views
from .plugins import get_url_patterns
@@ -30,6 +32,9 @@ urlpatterns = [
# into the static build directories and let nginx serve them?
urlpatterns += get_url_patterns()
+handler404 = app_views.handler404
+handler500 = app_views.handler500
+
# Test cases call boot() independently
# Also don't execute boot with celery workers
if not settings.WORKER_RUNNING and not settings.TESTING:
diff --git a/app/views/app.py b/app/views/app.py
index dd168e55..d456fc7f 100644
--- a/app/views/app.py
+++ b/app/views/app.py
@@ -134,3 +134,10 @@ def welcome(request):
'title': 'Welcome',
'firstuserform': fuf
})
+
+
+def handler404(request):
+ return render(request, '404.html', status=404)
+
+def handler500(request):
+ return render(request, '500.html', status=500)
\ No newline at end of file