diff --git a/circle/dashboard/templates/dashboard/store/_list-box.html b/circle/dashboard/templates/dashboard/store/_list-box.html
index 412717b..e9e4606 100644
--- a/circle/dashboard/templates/dashboard/store/_list-box.html
+++ b/circle/dashboard/templates/dashboard/store/_list-box.html
@@ -4,23 +4,23 @@
   <div class="list-group-item">
     <div class="row">
       <div class="col-sm-6">
-        <a href="{% url "dashboard.views.store-upload"%}?directory={{ current }}"
+        <a href="{% url "dashboard.views.store-upload"%}?directory={{ current|urlencode }}"
           class="btn btn-info btn-xs js-hidden">
           {% trans "Upload" %}
         </a>
-        <form action="" data-action="{% url "dashboard.views.store-upload-url" %}" 
+        <form action="" data-action="{% url "dashboard.views.store-upload-url" %}"
           method="POST" enctype="multipart/form-data" class="no-js-hidden"
           id="store-upload-form">
           {% csrf_token %}
-          <input type="hidden" name="current_dir" value="{{ current }}"/>
+          <input type="hidden" name="current_dir" value="{{ current|urlencode }}"/>
           <input type="hidden" name="next" value="{{ next_url }}"/>
           <div class="input-group" style="max-width: 350px;">
             <span class="input-group-btn" id="store-upload-browse">
               <span class="btn btn-primary btn-xs">
                 {% trans "Browse..." %}
-              </span>     
+              </span>
             </span>
-            <input type="text" class="form-control input-tags" 
+            <input type="text" class="form-control input-tags"
              id="store-upload-filename"/>
             <span class="input-group-btn">
               <button type="submit" class="btn btn-primary btn-xs" disabled>
@@ -33,13 +33,13 @@
       </div><!-- .col-sm-6 upload -->
 
       <div class="col-sm-6">
-        <a href="{% url "dashboard.views.store-remove" %}?path={{ current }}" 
-          class="btn btn-danger btn-xs pull-right store-action-button" 
+        <a href="{% url "dashboard.views.store-remove" %}?path={{ current|urlencode }}"
+          class="btn btn-danger btn-xs pull-right store-action-button"
           title="{% trans "Remove directory" %}">
           <i class="fa fa-times"></i>
         </a>
-        <a href="{% url "dashboard.views.store-download" %}?path={{ current }}" 
-          class="btn btn-primary btn-xs pull-right store-action-button" 
+        <a href="{% url "dashboard.views.store-download" %}?path={{ current|urlencode }}"
+          class="btn btn-primary btn-xs pull-right store-action-button"
           title="{% trans "Download directory" %}">
           <i class="fa fa-cloud-download"></i>
         </a>
@@ -51,7 +51,7 @@
             <span class="input-group-addon input-tags" title="{% trans "New directory" %}">
               <i class="fa fa-folder-open"></i>
             </span>
-            <input type="text" class="form-control input-tags" name="name" 
+            <input type="text" class="form-control input-tags" name="name"
              placeholder="{% trans "Name "%}" required/>
             <span class="input-group-btn">
               <input type="submit" class="btn btn-success btn-xs" value="{% trans "Create" %}"/>
@@ -64,7 +64,7 @@
 </div><!-- .list-group -->
 
 <div class="list-group" id="store-list-list">
-  <a href="{% url "dashboard.views.store-list" %}?directory={{ up_url }}" 
+  <a href="{% url "dashboard.views.store-list" %}?directory={{ up_url|urlencode }}"
     class="list-group-item store-list-item" data-item-type="D">
     {% if current == "/" %}
       <div class="store-list-item-icon">
@@ -85,8 +85,8 @@
 
   {% for f in root %}
   <a class="list-group-item store-list-item" data-item-type="{{ f.TYPE }}"
-    href="{% if f.TYPE == "D" %}{% url "dashboard.views.store-list" %}?directory={{ f.path }}{% else %}
-    {% url "dashboard.views.store-download" %}?path={{ f.path }}{% endif %}"
+    href="{% if f.TYPE == "D" %}{% url "dashboard.views.store-list" %}?directory={{ f.path|urlencode }}{% else %}
+    {% url "dashboard.views.store-download" %}?path={{ f.path|urlencode }}{% endif %}"
     >
     <div class="store-list-item-icon">
       <i class="
@@ -101,7 +101,7 @@
         <span class="badge badge-pulse">{% trans "new" %}</span>
       {% endif %}
     </div>
-    
+
     <div class="store-list-item-size">
       {{ f.human_readable_size }}
     </div>
@@ -122,12 +122,12 @@
         </dl>
       </div>
       <div class="col-sm-2" style="text-align: right;">
-        <a href="{% url "dashboard.views.store-download" %}?path={{ f.path }}" 
+        <a href="{% url "dashboard.views.store-download" %}?path={{ f.path|urlencode }}"
           class="btn btn-primary btn-sm store-download-button">
           <i class="fa fa-download"></i>
           {% trans "Download" %}
         </a>
-        <a href="{% url "dashboard.views.store-remove" %}?path={{ f.path }}" 
+        <a href="{% url "dashboard.views.store-remove" %}?path={{ f.path|urlencode }}"
           class="btn btn-danger btn-xs store-remove-button">
           <i class="fa fa-times"></i>
           {% trans "Remove" %}
diff --git a/circle/dashboard/views/store.py b/circle/dashboard/views/store.py
index a7debdc..d7acf3c 100644
--- a/circle/dashboard/views/store.py
+++ b/circle/dashboard/views/store.py
@@ -23,6 +23,7 @@ from os.path import join, normpath, dirname, basename
 from django.conf import settings
 from django.contrib import messages
 from django.contrib.auth.decorators import login_required
+from django.template.defaultfilters import urlencode
 from django.core.cache import get_cache
 from django.core.exceptions import SuspiciousOperation
 from django.core.urlresolvers import reverse
@@ -55,7 +56,7 @@ class StoreList(LoginRequiredMixin, TemplateView):
         context['current'] = directory
         context['next_url'] = "%s%s?directory=%s" % (
             settings.DJANGO_URL.rstrip("/"),
-            reverse("dashboard.views.store-list"), directory)
+            reverse("dashboard.views.store-list"), urlencode(directory))
         return context
 
     def get(self, *args, **kwargs):
@@ -112,7 +113,7 @@ def store_upload(request):
 
     next_url = "%s%s?directory=%s" % (
         settings.DJANGO_URL.rstrip("/"),
-        reverse("dashboard.views.store-list"), directory)
+        reverse("dashboard.views.store-list"), urlencode(directory))
 
     return render(request, "dashboard/store/upload.html",
                   {'directory': directory, 'action': action,
@@ -168,7 +169,7 @@ class StoreRemove(LoginRequiredMixin, TemplateView):
 
         return redirect("%s?directory=%s" % (
             reverse("dashboard.views.store-list"),
-            dirname(dirname(path)),
+            urlencode(dirname(dirname(path))),
         ))
 
 
@@ -185,7 +186,7 @@ def store_new_directory(request):
                          name, path, unicode(request.user))
         messages.error(request, _("Unable to create folder."))
     return redirect("%s?directory=%s" % (
-        reverse("dashboard.views.store-list"), path))
+        reverse("dashboard.views.store-list"), urlencode(path)))
 
 
 @require_POST