diff --git a/lib/state/app/infrastructure/loadableState/view/loadable_state_consumer.dart b/lib/state/app/infrastructure/loadableState/view/loadable_state_consumer.dart
index 238ab94..b0cdc65 100644
--- a/lib/state/app/infrastructure/loadableState/view/loadable_state_consumer.dart
+++ b/lib/state/app/infrastructure/loadableState/view/loadable_state_consumer.dart
@@ -24,6 +24,11 @@ class LoadableStateConsumer<TController extends Bloc<LoadableHydratedBlocEvent<T
   @override
   Widget build(BuildContext context) {
     var loadableState = context.watch<TController>().state;
+
+    if(!loadableState.isLoading && onLoad != null) {
+      WidgetsBinding.instance.addPostFrameCallback((timeStamp) => onLoad!(loadableState.data));
+    }
+
     var childWidget = ConditionalWrapper(
       condition: loadableState.reFetch != null,
       wrapper: (child) => RefreshIndicator(
diff --git a/lib/state/app/infrastructure/utilityWidgets/loadableHydratedBloc/loadable_hydrated_bloc.dart b/lib/state/app/infrastructure/utilityWidgets/loadableHydratedBloc/loadable_hydrated_bloc.dart
index cdcedf7..66e20d6 100644
--- a/lib/state/app/infrastructure/utilityWidgets/loadableHydratedBloc/loadable_hydrated_bloc.dart
+++ b/lib/state/app/infrastructure/utilityWidgets/loadableHydratedBloc/loadable_hydrated_bloc.dart
@@ -103,10 +103,9 @@ abstract class LoadableHydratedBloc<
   Map<String, dynamic>? toJson(LoadableState<TState> state) {
     Map<String, dynamic>? data;
     try {
-      data = toStorage(state.data);
+      data = state.data == null ? null : toStorage(state.data);
     } catch(e) {
       log('Failed to save state ${TState.toString()}: ${e.toString()}');
-      data = null;
     }
 
     return LoadableSaveContext.wrap(
diff --git a/lib/state/app/modules/app_modules.dart b/lib/state/app/modules/app_modules.dart
index df84651..796cfe6 100644
--- a/lib/state/app/modules/app_modules.dart
+++ b/lib/state/app/modules/app_modules.dart
@@ -26,7 +26,7 @@ class AppModule {
     Modules.marianumMessage: AppModule('Marianum Message', Icons.newspaper, MarianumMessageListView.new),
     Modules.roomPlan: AppModule('Raumplan', Icons.location_pin, Roomplan.new),
     Modules.gradeAveragesCalculator: AppModule('Notendurschnittsrechner', Icons.calculate, GradeAveragesView.new),
-    Modules.holidays: AppModule('Schulferien', Icons.time_to_leave, HolidaysView.new),
+    Modules.holidays: AppModule('Schulferien', Icons.flight, HolidaysView.new),
   };
 
   static AppModule getModule(Modules module) => modules()[module]!;
diff --git a/lib/state/app/modules/holidays/bloc/holidays_bloc.dart b/lib/state/app/modules/holidays/bloc/holidays_bloc.dart
index 248a080..3f82d04 100644
--- a/lib/state/app/modules/holidays/bloc/holidays_bloc.dart
+++ b/lib/state/app/modules/holidays/bloc/holidays_bloc.dart
@@ -16,6 +16,7 @@ class HolidaysBloc extends LoadableHydratedBloc<HolidaysEvent, HolidaysState, Ho
   }
 
   bool showPastHolidays() => innerState?.showPastHolidays ?? false;
+  bool showDisclaimerOnEntry() => innerState?.showDisclaimer ?? false;
   List<Holiday>? getHolidays() => innerState?.holidays
       .where((element) => showPastHolidays() || DateTime.parse(element.end).isAfter(DateTime.now()))
       .toList() ?? [];
diff --git a/lib/state/app/modules/holidays/view/holidays_view.dart b/lib/state/app/modules/holidays/view/holidays_view.dart
index d0da804..41be1f3 100644
--- a/lib/state/app/modules/holidays/view/holidays_view.dart
+++ b/lib/state/app/modules/holidays/view/holidays_view.dart
@@ -6,6 +6,7 @@ import '../../../../../widget/list_view_util.dart';
 import '../../../../../widget/centeredLeading.dart';
 import '../../../../../widget/debug/debugTile.dart';
 import '../../../../../widget/string_extensions.dart';
+import '../../../infrastructure/loadableState/loadable_state.dart';
 import '../../../infrastructure/loadableState/view/loadable_state_consumer.dart';
 import '../../../infrastructure/utilityWidgets/bloc_module.dart';
 import '../bloc/holidays_bloc.dart';
@@ -16,7 +17,7 @@ class HolidaysView extends StatelessWidget {
   const HolidaysView({super.key});
 
   @override
-  Widget build(BuildContext context) => BlocModule(
+  Widget build(BuildContext context) => BlocModule<HolidaysBloc, LoadableState<HolidaysState>>(
     create: (context) => HolidaysBloc(),
     autoRebuild: true,
     child: (context, bloc, state) {
@@ -28,10 +29,7 @@ class HolidaysView extends StatelessWidget {
               'Ich übernehme weder Verantwortung für die Richtigkeit der Daten noch hafte ich für wirtschaftliche Schäden die aus der Verwendung dieser Daten entstehen können.\n\n'
               'Die Daten stammen von https://ferien-api.de/'),
           actions: [
-            TextButton(child: const Text('Okay'), onPressed: () {
-              bloc.add(DisclaimerDismissed());
-              Navigator.of(context).pop();
-            }),
+            TextButton(child: const Text('Okay'), onPressed: () => Navigator.of(context).pop()),
           ],
         ));
       }
@@ -63,6 +61,10 @@ class HolidaysView extends StatelessWidget {
           ],
         ),
         body: LoadableStateConsumer<HolidaysBloc, HolidaysState>(
+          onLoad: (state) {
+            if(state.showDisclaimer) showDisclaimer();
+            bloc.add(DisclaimerDismissed());
+          },
           child: (state, loading) => ListViewUtil.fromList<Holiday>(bloc.getHolidays(), (holiday) {
             var holidayType = holiday.name.split(' ').first.capitalize();
             String formatDate(String date) => Jiffy.parse(date).format(pattern: 'dd.MM.yyyy');