diff --git a/aleksis/core/util/manage.py b/aleksis/core/__main__.py
similarity index 77%
rename from aleksis/core/util/manage.py
rename to aleksis/core/__main__.py
index 64441f62dfdadbb589b973dcd65633e100bf647b..1005582cced761d9b9fecb49dccd59dd549054a0 100644
--- a/aleksis/core/util/manage.py
+++ b/aleksis/core/__main__.py
@@ -9,4 +9,9 @@ from django.core.management import execute_from_command_line
 def aleksis_cmd():
     """Run django-admin command with correct settings path."""
     os.environ.setdefault("DJANGO_SETTINGS_MODULE", "aleksis.core.settings")
+    sys.argv[0] = os.path.dirname(__file__)
     execute_from_command_line(sys.argv)
+
+
+if __name__ == "__main__":
+    sys.exit(aleksis_cmd())
diff --git a/pyproject.toml b/pyproject.toml
index c9aeb3938398a13867d087ac1a24cbd9f642fe53..ef322dec6354ab434c03b195321467f7b17b2535 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -103,7 +103,7 @@ celery = ["Celery", "django-celery-results", "django-celery-beat", "django-celer
 aleksis-builddeps = "*"
 
 [tool.poetry.scripts]
-aleksis-admin = 'aleksis.core.util.manage:aleksis_cmd'
+aleksis-admin = 'aleksis.core.__main__:aleksis_cmd'
 
 [tool.black]
 line-length = 100
diff --git a/tox.ini b/tox.ini
index f09d243fd2ddcd42c0eae1a6c298c08eb9557a13..2aed3362cf7e62c15839c37ec5fb191dcd1a2f4d 100644
--- a/tox.ini
+++ b/tox.ini
@@ -35,6 +35,7 @@ commands =
 
 [testenv:build]
 commands_pre =
+    poetry install
     poetry run sh -c "cd aleksis; aleksis-admin compilemessages"
 commands = poetry build