diff --git a/BudgetMasterServer/src/main/resources/languages/base_de.properties b/BudgetMasterServer/src/main/resources/languages/base_de.properties
index 37ebada83dac9f271c82f891989033159ab5bd60..b5073104b033a0418ec63a39091e6fc225e8aa57 100644
--- a/BudgetMasterServer/src/main/resources/languages/base_de.properties
+++ b/BudgetMasterServer/src/main/resources/languages/base_de.properties
@@ -322,6 +322,7 @@ settings.personalization=Personalisierung
 settings.personalization.reload.page=Zum Anwenden visueller Änderungen <a href="">Seite neu laden</a>
 settings.transactions=Buchungen
 settings.misc=Sonstiges
+settings.warning.unsaved=ungespeichert
 
 settings.database.import=Importieren
 settings.database.export=Exportieren
diff --git a/BudgetMasterServer/src/main/resources/languages/base_en.properties b/BudgetMasterServer/src/main/resources/languages/base_en.properties
index 7f2077ed942674a327d9ae9df6be2618b7aa3f5d..77a27e38cd616e3410b4226180e5ddf8f94ee58f 100644
--- a/BudgetMasterServer/src/main/resources/languages/base_en.properties
+++ b/BudgetMasterServer/src/main/resources/languages/base_en.properties
@@ -323,6 +323,7 @@ settings.personalization=Personalization
 settings.personalization.reload.page=<a href="">Reload</a> page to apply visual changes
 settings.transactions=Transactions
 settings.misc=Misc
+settings.warning.unsaved=unsaved
 
 settings.database.import=Import
 settings.database.export=Export
diff --git a/BudgetMasterServer/src/main/resources/static/css/settings.css b/BudgetMasterServer/src/main/resources/static/css/settings.css
index f51ab4bd82713f613b6ccc58ca272e79272f0441..7c87821771399ac7070497aa1e8752b5392b77ca 100644
--- a/BudgetMasterServer/src/main/resources/static/css/settings.css
+++ b/BudgetMasterServer/src/main/resources/static/css/settings.css
@@ -30,4 +30,24 @@
 
 #verificationCode:hover {
     cursor: pointer;
+}
+
+.collapsible-header-button {
+    position: absolute;
+    right: 1rem;
+    top: 1.05rem;
+    display: flex;
+    align-items: center;
+    color: var(--color-yellow);
+    font-weight: bold;
+    font-size: 0.9rem;
+}
+
+.collapsible-header-button i {
+    margin-right: 0.3rem;
+    font-size: 1.3rem;
+}
+
+.collapsible-header-button.hidden {
+    display: none;
 }
\ No newline at end of file
diff --git a/BudgetMasterServer/src/main/resources/static/js/settings.js b/BudgetMasterServer/src/main/resources/static/js/settings.js
index 19e933ca7f0ad525e54c42077550ebb003651896..4e35537c0c8497908d493d0158335df180b37a8e 100644
--- a/BudgetMasterServer/src/main/resources/static/js/settings.js
+++ b/BudgetMasterServer/src/main/resources/static/js/settings.js
@@ -117,4 +117,9 @@ function onAutoBackupStrategyChange(newSelectedIndex)
     $('#settings-auto-backup-local').toggle(newSelectedIndex === 0);  // local backup with file system copies
     // index 1 --> git local doesn't have any settings
     $('#settings-auto-backup-git-remote').toggle(newSelectedIndex === 2);  // git remote
+}
+
+function toggleSettingsContainerHeader(id, hide)
+{
+    document.querySelector('#' + id + ' .collapsible-header-button').classList.toggle('hidden', hide);
 }
\ No newline at end of file
diff --git a/BudgetMasterServer/src/main/resources/static/js/settingsContainers.js b/BudgetMasterServer/src/main/resources/static/js/settingsContainers.js
index 127a469e70338ee7492837d0776cb81a42922a45..71f6cac90f28fe4eef0398a79c5ffff57f5b8b4a 100644
--- a/BudgetMasterServer/src/main/resources/static/js/settingsContainers.js
+++ b/BudgetMasterServer/src/main/resources/static/js/settingsContainers.js
@@ -20,6 +20,8 @@ function initSettingsContainer(formName, containerId)
                 $('.tooltipped').tooltip();
                 $('select').formSelect();
 
+                toggleSettingsContainerHeader(containerId + 'Header', true);
+
                 let toastContent = document.querySelector('#' + containerId + ' .securityContainerToastContent').innerHTML.trim();
                 if(toastContent)
                 {
diff --git a/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsPersonalization.ftl b/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsPersonalization.ftl
index 4f475e207dc1800d980188d46612106e0e99f8b0..5bae17b9814988aeb07a6b8263b93dd9f7a41348 100644
--- a/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsPersonalization.ftl
+++ b/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsPersonalization.ftl
@@ -72,6 +72,38 @@
                 </div>
             </div>
         </#if>
+
+        <script>
+            $('#settings-language').change(function()
+            {
+                toggleSettingsContainerHeader('personalizationSettingsContainerHeader', false);
+            });
+
+            $('#settings-currency').on('change keydown paste input', function()
+            {
+                toggleSettingsContainerHeader('personalizationSettingsContainerHeader', false);
+            });
+
+            $('input[name="useDarkTheme"]').change(function()
+            {
+                toggleSettingsContainerHeader('personalizationSettingsContainerHeader', false);
+            });
+
+            $('input[name="showCategoriesAsCircles"]').change(function()
+            {
+                toggleSettingsContainerHeader('personalizationSettingsContainerHeader', false);
+            });
+
+            $('#settings-password-confirmation').on('change keydown paste input', function()
+            {
+                toggleSettingsContainerHeader('personalizationSettingsContainerHeader', false);
+            });
+
+            $('#settings-search-items-per-page').change(function()
+            {
+                toggleSettingsContainerHeader('personalizationSettingsContainerHeader', false);
+            });
+        </script>
     </@settingsContainerMacros.settingsContainer>
 </#macro>
 
diff --git a/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsSecurity.ftl b/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsSecurity.ftl
index e4205e87621deea35a65cf5528319984bd5e4975..16e50ce68d05c878c21bc8917570403cb352b259 100644
--- a/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsSecurity.ftl
+++ b/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsSecurity.ftl
@@ -30,6 +30,17 @@
                 <@header.buttonSubmit name='action' icon='save' localizationKey='save' color='background-green' formaction='/settings/save/security'/>
             </div>
         </div>
+
+        <script>
+            $('#settings-password').on('change keydown paste input', function()
+            {
+                toggleSettingsContainerHeader('securitySettingsContainerHeader', false);
+            });
+            $('#settings-password-confirmation').on('change keydown paste input', function()
+            {
+                toggleSettingsContainerHeader('securitySettingsContainerHeader', false);
+            });
+        </script>
     </@settingsContainerMacros.settingsContainer>
 </#macro>
 
diff --git a/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsTransactions.ftl b/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsTransactions.ftl
index b9d790f32ca8253b4f9ad35b0190e715fab3a28d..6e26a5c5f1067884702950f0ba111a6e2546a21d 100644
--- a/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsTransactions.ftl
+++ b/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsTransactions.ftl
@@ -33,6 +33,13 @@
                 <@header.buttonSubmit name='action' icon='save' localizationKey='save' color='background-green' formaction='/settings/save/transactions'/>
             </div>
         </div>
+
+        <script>
+            $('input[name="restActivated"]').change(function()
+            {
+                toggleSettingsContainerHeader('transactionsSettingsContainerHeader', false);
+            });
+        </script>
     </@settingsContainerMacros.settingsContainer>
 </#macro>
 
diff --git a/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsUpdate.ftl b/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsUpdate.ftl
index a353dc77f728fed844f25aede4d68df0b559b2ad..eaad0d1bb5984973872088509132cf4ea2aa77d8 100644
--- a/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsUpdate.ftl
+++ b/BudgetMasterServer/src/main/resources/templates/settings/containers/settingsUpdate.ftl
@@ -105,6 +105,11 @@
                     }
                 });
             });
+
+            $('input[name="autoUpdateCheckEnabled"]').change(function()
+            {
+                toggleSettingsContainerHeader('updateSettingsContainerHeader', false);
+            });
         </script>
     </@settingsContainerMacros.settingsContainer>
 </#macro>
diff --git a/BudgetMasterServer/src/main/resources/templates/settings/settingsMacros.ftl b/BudgetMasterServer/src/main/resources/templates/settings/settingsMacros.ftl
index 5e3c2d9f7d10c580223c0ea451e709e1812678d8..79f231c539ed906047abdca848cdc05477d85668 100644
--- a/BudgetMasterServer/src/main/resources/templates/settings/settingsMacros.ftl
+++ b/BudgetMasterServer/src/main/resources/templates/settings/settingsMacros.ftl
@@ -301,7 +301,10 @@
 
 <#macro settingsCollapsibleItem id icon title isFontAwesomeIcon=false>
     <li class="z-depth-2">
-        <div class="collapsible-header bold"><#if isFontAwesomeIcon><i class="${icon}"></i><#else><i class="material-icons">${icon}</i></#if>${title}</div>
+        <div class="collapsible-header bold" id="${id}Header">
+            <#if isFontAwesomeIcon><i class="${icon}"></i><#else><i class="material-icons">${icon}</i></#if>${title}
+            <div class="collapsible-header-button hidden"><i class="material-icons text-yellow">warning</i>${locale.getString('settings.warning.unsaved')}</div>
+        </div>
         <div class="collapsible-body">
             <div class="row no-margin-bottom" id="${id}">
                 <#nested>