diff --git a/README.md b/README.md
index b8554f8d511a54ea22913d9d8ffe3fde5d7a8778..5db6a7f89ddcd4bffbf09124554879a61b6d3193 100644
--- a/README.md
+++ b/README.md
@@ -74,9 +74,10 @@ If successful, you can now see the running server in your browser at `http://127
 ## Populate the database with test data
 To populate the database with some test data run
 ```
-python manage.py seed_db
+python manage.py seed_db [-y] [--seed SEED]
 ```
 All the existing data from your database will be lost!
+Run `python manage.py seed_db --help` for more information.
 
 ## Use the django admin interface to view and edit data during development
 If you started the server as described above, you can access the django admin interface on
diff --git a/unisportomat/quiz/management/commands/seed_db.py b/unisportomat/quiz/management/commands/seed_db.py
index 5ad94a29e500f90713e1a16219a090a57ba6f641..7e6fc5b7434b946091af5a22352b72761ea1ffbf 100644
--- a/unisportomat/quiz/management/commands/seed_db.py
+++ b/unisportomat/quiz/management/commands/seed_db.py
@@ -39,6 +39,13 @@ class Command(BaseCommand):
             help="Don't ask to confirm database flushing",
         )
 
+        parser.add_argument(
+            "--seed",
+            type=int,
+            default=42,
+            help="Optional seed for random generator. Defaults to 42",
+        )
+
     def handle(self, *args, **options):
         """Create some objects for all models"""
 
@@ -49,6 +56,9 @@ class Command(BaseCommand):
         admin = get_user_model().objects.create_superuser("admin", password="password")
         admin.save()
 
+        # Seed random generator to make this script deterministic
+        random.seed(options["seed"])
+
         # Create sports
         sports_names = [
             "After Work Fitness",