diff --git a/src/InSillyCloWeb/assemblies/views.py b/src/InSillyCloWeb/assemblies/views.py
index 5688aaedf505e7dfb99715f7eeadca79206dd9bb..a3913f4e145a07092b4bcc61051f3d9dd36c75b7 100644
--- a/src/InSillyCloWeb/assemblies/views.py
+++ b/src/InSillyCloWeb/assemblies/views.py
@@ -5,19 +5,17 @@ from typing import Tuple
 
 import crispy_forms.helper
 from django.contrib import messages
+from django.contrib.sessions.models import Session
 from django.http import HttpResponse
-from django.shortcuts import render, redirect, get_object_or_404
+from django.shortcuts import render, redirect
 from django.urls import reverse_lazy
 from django.utils.translation import gettext_lazy as _
 from django.views.generic import ListView, DetailView, View, DeleteView, UpdateView
 from django.views.generic.detail import SingleObjectMixin
-from django.contrib.sessions.models import Session
-from django.contrib.auth import authenticate, login
-from django.contrib.auth.forms import AuthenticationForm
 
-from . import mixins
 from assemblies import forms, models, utils
 from assemblies.insillyclo_impl import InSillyCloDjangoMessageObserver
+from . import mixins
 
 
 # Create your views here.
@@ -213,44 +211,3 @@ class JobDownloadView(
             traceback.print_exc()
             messages.error(request, str(e.__class__) + str(e))
             return redirect(request.headers['Referer'])
-
-
-def loginView(request):
-
-    if request.user.is_authenticated:
-        return redirect("assemblies:home")
-
-    if request.method == "POST":
-        form = AuthenticationForm(data=request.POST or None)
-        if form.is_valid():
-            user = form.get_user()
-            session_key = request.session.session_key
-            print(f"session = {session_key}")
-            if session_key:
-                try:
-                    session = Session.objects.get(session_key=session_key)
-                    models.SimulatorJob.objects.filter(
-                        owning_session=session,
-                    ).update(
-                        owner=user,
-                        owning_session=None,
-                    )
-
-                    models.Assembly.objects.filter(
-                        owning_session=session,
-                    ).update(
-                        owner=user,
-                        owning_session=None,
-                    )
-
-                except Session.DoesNotExist:
-                    pass
-
-            login(request, user)
-            return redirect('assemblies:home')
-
-    return render(
-        request=request,
-        template_name='registration/login.html',
-        context=locals(),
-    )
diff --git a/src/InSillyCloWeb/insillycloweb/urls.py b/src/InSillyCloWeb/insillycloweb/urls.py
index 34c134b9576ca13c7f4018d23c6ca2d42c88d303..e3b0282928a55e34d2e4f7ba7a5d1e10b5c9ad41 100644
--- a/src/InSillyCloWeb/insillycloweb/urls.py
+++ b/src/InSillyCloWeb/insillycloweb/urls.py
@@ -9,7 +9,7 @@ from assemblies import views as assemblies
 urlpatterns = [
     path("i18n/", include("django.conf.urls.i18n")),
     path('', include('django_kubernetes_probes.urls')),
-    path('accounts/login/', assemblies.loginView, name='login'),
+    path('', include('pre_basetheme_bootstrap.urls')),
     path('', include('basetheme_bootstrap.urls')),
     path('admin/', admin.site.urls),
     path('', include("assemblies.urls")),
diff --git a/src/InSillyCloWeb/pre_basetheme_bootstrap/urls.py b/src/InSillyCloWeb/pre_basetheme_bootstrap/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..8fe6cf11cda0492fd8d48f64230d619e9497486b
--- /dev/null
+++ b/src/InSillyCloWeb/pre_basetheme_bootstrap/urls.py
@@ -0,0 +1,8 @@
+from django.urls import path
+
+from . import views
+
+
+urlpatterns = [
+    path('accounts/login/', views.loginView, name='login'),
+]
diff --git a/src/InSillyCloWeb/pre_basetheme_bootstrap/views.py b/src/InSillyCloWeb/pre_basetheme_bootstrap/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..9bcea6add1baf3f0d474c4e1335e7e79d15f9851
--- /dev/null
+++ b/src/InSillyCloWeb/pre_basetheme_bootstrap/views.py
@@ -0,0 +1,55 @@
+from basetheme_bootstrap.forms import AuthenticationForm
+from django.contrib.auth import login
+from django.contrib.sessions.models import Session
+from django.shortcuts import render, redirect
+
+from assemblies import models
+
+
+def loginView(request):
+
+    if request.user.is_authenticated:
+        return redirect("assemblies:home")
+
+    if request.method == "POST":
+        form = AuthenticationForm(
+            data=request.POST,
+            request=request,
+        )
+        if form.is_valid():
+            user = form.get_user()
+            session_key = request.session.session_key
+            if session_key:
+                try:
+                    session = Session.objects.get(session_key=session_key)
+                    models.SimulatorJob.objects.filter(
+                        owning_session=session,
+                    ).update(
+                        owner=user,
+                        owning_session=None,
+                    )
+
+                    models.Assembly.objects.filter(
+                        owning_session=session,
+                    ).update(
+                        owner=user,
+                        owning_session=None,
+                    )
+
+                except Session.DoesNotExist:
+                    pass
+
+            login(request, user)
+            return redirect('assemblies:home')
+    else:
+        form = AuthenticationForm(
+            request=request,
+        )
+
+    return render(
+        request=request,
+        template_name='registration/login.html',
+        context=dict(
+            form=form,
+        ),
+    )