diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/BackupController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/BackupController.java
new file mode 100644
index 0000000000000000000000000000000000000000..00dd172608631eb621386d450fd708be45b78955
--- /dev/null
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/BackupController.java
@@ -0,0 +1,32 @@
+package de.deadlocker8.budgetmaster.controller;
+
+import de.deadlocker8.budgetmaster.settings.SettingsService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import javax.servlet.http.HttpServletRequest;
+
+
+@Controller
+public class BackupController extends BaseController
+{
+	@Autowired
+	private SettingsService settingsService;
+
+	@RequestMapping("/backupReminder/cancel")
+	public String cancel(HttpServletRequest request, Model model)
+	{
+		settingsService.updateLastBackupReminderDate();
+		model.addAttribute("settings", settingsService.getSettings());
+		return "redirect:" + request.getHeader("Referer");
+	}
+
+	@RequestMapping("/backupReminder/settings")
+	public String settings(Model model)
+	{
+		settingsService.updateLastBackupReminderDate();
+		return "redirect:/settings";
+	}
+}
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java b/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java
index 9801219b78acc7ace68bbdf9dd9e36ea45acd1df..82550216f95e38e1d7707ad7eed7e06c060a1879 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/controller/IndexController.java
@@ -1,15 +1,22 @@
 package de.deadlocker8.budgetmaster.controller;
 
+import de.deadlocker8.budgetmaster.settings.SettingsService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
+import org.springframework.ui.Model;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 
 @Controller
 public class IndexController extends BaseController
 {
+	@Autowired
+	private SettingsService settingsService;
+
 	@RequestMapping("/")
-	public String index()
+	public String index(Model model)
 	{
+		model.addAttribute("settings", settingsService.getSettings());
 		return "index";
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/settings/Settings.java b/src/main/java/de/deadlocker8/budgetmaster/settings/Settings.java
index 08b61f136826a972514ba0b98542abedb60696e3..b102276be67dd40585929368be66bfc5c5c27534 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/settings/Settings.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/settings/Settings.java
@@ -1,6 +1,8 @@
 package de.deadlocker8.budgetmaster.settings;
 
 import de.deadlocker8.budgetmaster.utils.LanguageType;
+import org.joda.time.DateTime;
+import org.springframework.format.annotation.DateTimeFormat;
 
 import javax.persistence.Entity;
 import javax.persistence.Id;
@@ -15,8 +17,10 @@ public class Settings
 	private boolean restActivated;
 	private boolean useDarkTheme;
 	private boolean autoUpdateCheckEnabled;
+
 	private Boolean backupReminderActivated;
-	private Boolean backupReminderShownThisMonth;
+	@DateTimeFormat(pattern = "dd.MM.yyyy")
+	private DateTime lastBackupReminderDate;
 
 	public Settings()
 	{
@@ -31,7 +35,7 @@ public class Settings
 		defaultSettings.setUseDarkTheme(false);
 		defaultSettings.setAutoUpdateCheckEnabled(true);
 		defaultSettings.setBackupReminderActivated(true);
-		defaultSettings.setBackupReminderShownThisMonth(false);
+		defaultSettings.setLastBackupReminderDate(DateTime.now().minusMonths(1));
 
 		return defaultSettings;
 	}
@@ -91,7 +95,7 @@ public class Settings
 		this.autoUpdateCheckEnabled = autoUpdateCheckEnabled;
 	}
 
-	public Boolean isBackupReminderActivated()
+	public Boolean getBackupReminderActivated()
 	{
 		return backupReminderActivated;
 	}
@@ -101,14 +105,19 @@ public class Settings
 		this.backupReminderActivated = backupReminderActivated;
 	}
 
-	public Boolean isBackupReminderShownThisMonth()
+	public DateTime getLastBackupReminderDate()
+	{
+		return lastBackupReminderDate;
+	}
+
+	public void setLastBackupReminderDate(DateTime lastBackupReminderDate)
 	{
-		return backupReminderShownThisMonth;
+		this.lastBackupReminderDate = lastBackupReminderDate;
 	}
 
-	public void setBackupReminderShownThisMonth(Boolean backupReminderShownThisMonth)
+	public boolean needToShowBackupReminder()
 	{
-		this.backupReminderShownThisMonth = backupReminderShownThisMonth;
+		return lastBackupReminderDate.getMonthOfYear() != DateTime.now().getMonthOfYear();
 	}
 
 	@Override
@@ -122,7 +131,7 @@ public class Settings
 				", useDarkTheme=" + useDarkTheme +
 				", autoUpdateCheckEnabled=" + autoUpdateCheckEnabled +
 				", backupReminderActivated=" + backupReminderActivated +
-				", backupReminderShownThisMonth=" + backupReminderShownThisMonth +
+				", lastBackupReminderDate=" + lastBackupReminderDate +
 				'}';
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsService.java b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsService.java
index beef520f41b250c3480311ad89f2bfe5e1c3a4cc..798ee39af1a3fd92c5043102cccd1345585389b5 100644
--- a/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsService.java
+++ b/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsService.java
@@ -1,7 +1,6 @@
 package de.deadlocker8.budgetmaster.settings;
 
-import de.deadlocker8.budgetmaster.accounts.Account;
-import de.deadlocker8.budgetmaster.accounts.AccountType;
+import org.joda.time.DateTime;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -29,13 +28,13 @@ public class SettingsService
 		}
 
 		Settings settings = settingsRepository.findOne(0);
-		if(settings.isBackupReminderActivated() == null)
+		if(settings.getBackupReminderActivated() == null)
 		{
 			settings.setBackupReminderActivated(true);
 		}
-		if(settings.isBackupReminderShownThisMonth() == null)
+		if(settings.getLastBackupReminderDate() == null)
 		{
-			settings.setBackupReminderShownThisMonth(false);
+			settings.setLastBackupReminderDate(DateTime.now().minusMonths(1));
 		}
 		settingsRepository.delete(0);
 		settingsRepository.save(settings);
@@ -45,4 +44,12 @@ public class SettingsService
 	{
 		return settingsRepository.findOne(0);
 	}
+
+	public void updateLastBackupReminderDate()
+	{
+		Settings settings = getSettings();
+		settings.setLastBackupReminderDate(DateTime.now());
+		settingsRepository.delete(0);
+		settingsRepository.save(settings);
+	}
 }
\ No newline at end of file
diff --git a/src/main/resources/languages/_de.properties b/src/main/resources/languages/_de.properties
index d86aee574d4d7c7c5f43e34281f2fbf930d4c319..8346807ac05e8f0cf7c4b2f1248c22b23b7339c0 100644
--- a/src/main/resources/languages/_de.properties
+++ b/src/main/resources/languages/_de.properties
@@ -94,6 +94,9 @@ info.database.import.destination=importieren in
 info.database.import.or=oder
 info.title.update=Update verf�gbar
 info.text.update=Es ist ein Update f�r BudgetMaster verf�gbar<br><br>Installiert: v{0}<br>Verf�gbar: {1}<br><br>M�chtest du das Update jetzt durchf�hren?<br><br>Hinweis: Das Aktualisieren kann je nach Internetverbindung eine Weile dauern. Der BudgetMaster Server wird danach automatisch nuegestartet. Bitte f�hre nach dem Start des Updates keine �nderungen an Konten, Buchungen, Kategorien, etc. durch.
+info.title.backup.reminder=Zeit f�r ein Backup
+info.text.backup.reminder=Schon mal �ber ein Backup nachgedacht?<br>Du solltest deine BudgetMaster Datenbank regelm��ig sichern.<br>Dies geht besonders einfach in den Einstellungen.<br><br>(Du wilst diese Erinnerung nicht jeden Monat sehen? Dann deaktiviere die Backup-Erinnerung in den Einstellungen.)
+info.button.backup.reminder=Zu den Einstellungen
 
 # WARNING
 warning.text.account.delete=Das Konto "{0}" kann nicht gel�scht werden, da mindestens ein Konto existieren muss. Um dieses Konto zu l�schen musst du zuerst ein neues anlegen.
diff --git a/src/main/resources/languages/_en.properties b/src/main/resources/languages/_en.properties
index 6552933dc33174329676694116b43b46018bff23..bcf1596bd0c694945cb6068a3837dcef6aa59e51 100644
--- a/src/main/resources/languages/_en.properties
+++ b/src/main/resources/languages/_en.properties
@@ -95,6 +95,9 @@ info.database.import.destination=to
 info.database.import.or=or
 info.title.update=Update available
 info.text.update=An update for BudgetMaster is available<br><br>Installed: v{0}<br>Available: {1}<br><br>Would you like to update now?<br><br>Note: The update may take a while depending on your internet connection. The BudgetMaster server will be restarted automatically. Please do not make any changes to accounts, transactions, categories, etc. after starting the update.
+info.title.backup.reminder=Time for a backup
+info.text.backup.reminder=Have you ever thought about a backup?<br>You should back up your BudgetMaster database regularly.<br>This can be donee on the settings page.<br><br>(You don't want to see this reminder every month? Disable the backup reminder in the settings.)
+info.button.backup.reminder=To the settings
 
 # WARNING
 warning.text.account.delete=The account "{0}" could not be deleted, because at least one account must exist at all time. You have to create a new account in order to delete this one.
diff --git a/src/main/resources/static/js/accounts.js b/src/main/resources/static/js/accounts.js
index 41d66636fe6809d6e77a312192eed7c9d8db24d6..131dc72e7a7641539941244efc2e36ad24f31d0d 100644
--- a/src/main/resources/static/js/accounts.js
+++ b/src/main/resources/static/js/accounts.js
@@ -1,5 +1,4 @@
 $( document ).ready(function() {
-
     if($("#modalConfirmDelete").length)
     {
         $('#modalConfirmDelete').modal('open');
diff --git a/src/main/resources/static/js/main.js b/src/main/resources/static/js/main.js
index 7b097f1eaf3660f5bb69bbdc222f00b693568f66..a4f781bce99f54baa3625d03f469a5a6dd54b016 100644
--- a/src/main/resources/static/js/main.js
+++ b/src/main/resources/static/js/main.js
@@ -3,6 +3,11 @@ $( document ).ready(function() {
 
     $('.modal').modal();
 
+    if($("#modalBackupReminder").length)
+    {
+        $('#modalBackupReminder').modal('open');
+    }
+
     $('.tooltipped').tooltip();
 
     $('select').formSelect();
diff --git a/src/main/resources/templates/helpers/navbar.ftl b/src/main/resources/templates/helpers/navbar.ftl
index 0d3fe234b81aff8f59b81c32063c6b0dc3137f17..5f1af733a688059ae540aa715ba6fe6a935b8c12 100644
--- a/src/main/resources/templates/helpers/navbar.ftl
+++ b/src/main/resources/templates/helpers/navbar.ftl
@@ -131,4 +131,19 @@
         </li>
     </ul>
 </li>
+</#macro>
+
+<#macro backupReminder settings>
+    <#if settings.needToShowBackupReminder()>
+        <div id="modalBackupReminder" class="modal background-color">
+            <div class="modal-content">
+                <h4>${locale.getString("info.title.backup.reminder")}</h4>
+                <p>${locale.getString("info.text.backup.reminder")}</p>
+            </div>
+            <div class="modal-footer background-color">
+                <a href="<@s.url '/backupReminder/cancel'/>" class="modal-action modal-close waves-effect waves-light red btn-flat white-text">${locale.getString("cancel")}</a>
+                <a href="<@s.url '/backupReminder/settings'/>" class="modal-action modal-close waves-effectwaves-light green btn-flat white-text">${locale.getString("info.button.backup.reminder")}</a>
+            </div>
+        </div>
+    </#if>
 </#macro>
\ No newline at end of file
diff --git a/src/main/resources/templates/index.ftl b/src/main/resources/templates/index.ftl
index a51912e67985ce699f9fa306cec1fdca18dc34bd..987bada70035b1a4ca01af1c4021ee8bf0476c81 100644
--- a/src/main/resources/templates/index.ftl
+++ b/src/main/resources/templates/index.ftl
@@ -7,6 +7,7 @@
     <body class="budgetmaster-blue-light">
         <#import "helpers/navbar.ftl" as navbar>
         <@navbar.navbar "home"/>
+        <@navbar.backupReminder settings/>
 
         <main>
             <div class="card main-card background-color">
diff --git a/src/main/resources/templates/settings/settings.ftl b/src/main/resources/templates/settings/settings.ftl
index ee6ca5fa21c256eddecfc92a071301caabbf4d22..ead828e449696ba4ceb134b4a3447f95bdd4fdf4 100644
--- a/src/main/resources/templates/settings/settings.ftl
+++ b/src/main/resources/templates/settings/settings.ftl
@@ -22,7 +22,7 @@
                     <form name="Settings" action="<@s.url '/settings/save'/>" method="post">
                         <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
                         <input type="hidden" name="ID" value="${settings.getID()?c}">
-                        <input type="hidden" name="backupReminderShownThisMonth" value="${settings.isBackupReminderShownThisMonth()?c}">
+                        <input type="hidden" name="lastBackupReminderDate" value="${helpers.getLongDateString(settings.getLastBackupReminderDate())}">
 
                         <#-- password -->
                         <div class="row">
diff --git a/src/main/resources/templates/settings/settingsMacros.ftl b/src/main/resources/templates/settings/settingsMacros.ftl
index cb0e5c2984c8da3eec51b0511b4ec2312111aeb7..568860894d86e62b872804c39b8ba0d5b6c4bc7d 100644
--- a/src/main/resources/templates/settings/settingsMacros.ftl
+++ b/src/main/resources/templates/settings/settingsMacros.ftl
@@ -14,7 +14,7 @@
         </div>
         <div class="row">
             <div class="col s12 center-align">
-                <@switch "backupReminder" "backupReminderActivated" settings.isBackupReminderActivated()/>
+                <@switch "backupReminder" "backupReminderActivated" settings.getBackupReminderActivated()/>
             </div>
         </div>
     </div>
@@ -27,7 +27,7 @@
                 <@switch "darkTheme" "useDarkTheme" settings.isUseDarkTheme()/>
             </div>
             <div class="col l2 center-align">
-                <@switch "backupReminder" "backupReminderActivated" settings.isBackupReminderActivated()/>
+                <@switch "backupReminder" "backupReminderActivated" settings.getBackupReminderActivated()/>
             </div>
         </div>
     </div>