diff --git a/district/models.py b/district/models.py
index 9da207a351f96a93759085eb62669227257e84c3..27f7b50a265f276a309ee4074c210840505adf68 100644
--- a/district/models.py
+++ b/district/models.py
@@ -5,7 +5,6 @@ from django.core.cache import cache
 from django.core.exceptions import ValidationError
 from django.core.paginator import Paginator
 from django.db import models
-from django.db.models import signals
 from django.shortcuts import render
 from django.utils.translation import gettext_lazy
 from modelcluster.contrib.taggit import ClusterTaggableManager
@@ -1173,6 +1172,10 @@ class DistrictGeoFeatureCollectionPage(
         ),
     ]
 
+    settings_panels = []
+
+    ### RELATIONS
+
     parent_page_types = ["district.DistrictHomePage"]
     subpage_types = ["district.DistrictGeoFeatureDetailPage"]
 
@@ -1327,6 +1330,10 @@ class DistrictGeoFeatureDetailPage(
         search_image=False,
     )
 
+    settings_panels = []
+
+    ### RELATIONS
+
     parent_page_types = ["district.DistrictGeoFeatureCollectionPage"]
     subpage_types = []
 
@@ -1334,6 +1341,15 @@ class DistrictGeoFeatureDetailPage(
         verbose_name = "Položka mapové kolekce"
         ordering = ["sort_order"]
 
+    def save(self, *args, **kwargs):
+        # delete all sibling index cache keys to force recompute
+        keys = [
+            make_feature_index_cache_key(feature)
+            for feature in self.get_siblings(inclusive=True)
+        ]
+        cache.delete_many(keys)
+        return super().save(*args, **kwargs)
+
     @property
     def index(self):
         key = make_feature_index_cache_key(self)
@@ -1390,18 +1406,3 @@ class DistrictGeoFeatureDetailPage(
             )
         except ValueError as exc:
             raise ValidationError({"geojson": str(exc)}) from exc
-
-
-def invalidate_feature_index_cache(sender, **kwargs):
-    """When DistrictGeoFeatureDetailPage changes, delete all sibling index cache keys to force recompute."""
-    if kwargs.get("instance"):
-        keys = [
-            make_feature_index_cache_key(feature)
-            for feature in kwargs["instance"].get_siblings(inclusive=True)
-        ]
-        cache.delete_many(keys)
-
-
-signals.post_save.connect(
-    invalidate_feature_index_cache, sender=DistrictGeoFeatureDetailPage
-)
diff --git a/maps_utils/const.py b/maps_utils/const.py
index c54e06a70c2d99e89a18e9c5ce69ba9322320f38..e7c33027e0183c018da42fd31aefaed060c09fe2 100644
--- a/maps_utils/const.py
+++ b/maps_utils/const.py
@@ -1,9 +1,10 @@
 MAP_STYLES = (
     ("osm-mapnik", "OSM Mapnik"),
-    ("stamen-toner", "Stamen Toner"),
-    ("stamen-terrain", "Stamen Terrain"),
-    ("stadia-osm-bright", "Stadia OSM Bright (vyžaduje API klíč)"),
-    ("stadia-outdoors", "Stadia Outdoors (vyžaduje API klíč)"),
+    # TODO allow when we have working proxy
+    # ("stamen-toner", "Stamen Toner"),
+    # ("stamen-terrain", "Stamen Terrain"),
+    # ("stadia-osm-bright", "Stadia OSM Bright (vyžaduje API klíč)"),
+    # ("stadia-outdoors", "Stadia Outdoors (vyžaduje API klíč)"),
 )
 
 DEFAULT_MAP_STYLE = "osm-mapnik"