diff --git a/auth/templates/login_box.html b/auth/templates/login_box.html
index 4fb7a6eba40ef78e3b8ce7fa5778333b1bedd14d..2f0f7359d42902b6a5489e54c45235d4b6843b53 100644
--- a/auth/templates/login_box.html
+++ b/auth/templates/login_box.html
@@ -17,7 +17,7 @@
 </form>
 {% else %}
 <p>
-    <a href="{% url auth.views.start system_name=auth_system %}?return_url={{return_url}}" style="font-size: 1.4em;">
+    <a href="{{SECURE_URL_HOST}}{% url auth.views.start system_name=auth_system %}?return_url={{return_url}}" style="font-size: 1.4em;">
 <img border="0" height="35" src="/static/auth/login-icons/{{auth_system}}.png" alt="{{auth_system}}" /> {{auth_system}}
 {% endifequal %}
 </a>
diff --git a/helios/views.py b/helios/views.py
index 9430583a75d1d1f7f3d221fdb86f13419626a761..ac2101be0f8e1e010f195280e4111b6407396026 100644
--- a/helios/views.py
+++ b/helios/views.py
@@ -421,7 +421,7 @@ def one_election_cast(request, election):
   on a GET, this is a cancellation, on a POST it's a cast
   """
   if request.method == "GET":
-    return HttpResponseRedirect(reverse(one_election_view, args = [election.uuid]))
+    return HttpResponseRedirect("%s%s" % (settings.URL_HOST, reverse(one_election_view, args = [election.uuid])))
     
   user = get_user(request)    
   encrypted_vote = request.POST['encrypted_vote']