diff --git a/src/de/deadlocker8/budgetmaster/logic/search/SearchPreferences.java b/src/de/deadlocker8/budgetmaster/logic/search/SearchPreferences.java
new file mode 100644
index 0000000000000000000000000000000000000000..42a89272834fa7f52e14a7da227490747d651d47
--- /dev/null
+++ b/src/de/deadlocker8/budgetmaster/logic/search/SearchPreferences.java
@@ -0,0 +1,80 @@
+package de.deadlocker8.budgetmaster.logic.search;
+
+public class SearchPreferences
+{
+	private String lastQuery;
+	private boolean searchName;
+	private boolean searchDescription;
+	private boolean searchCategorNames;
+	private boolean searchTags;
+	
+	public SearchPreferences()
+	{
+		
+	}
+	
+	public SearchPreferences(String lastQuery, boolean searchName, boolean searchDescription, boolean searchCategorNames, boolean searchTags)
+	{
+		this.lastQuery = lastQuery;
+		this.searchName = searchName;
+		this.searchDescription = searchDescription;
+		this.searchCategorNames = searchCategorNames;
+		this.searchTags = searchTags;
+	}
+
+	public String getLastQuery()
+	{
+		return lastQuery;
+	}
+
+	public void setLastQuery(String lastQuery)
+	{
+		this.lastQuery = lastQuery;
+	}
+
+	public boolean isSearchName()
+	{
+		return searchName;
+	}
+
+	public void setSearchName(boolean searchName)
+	{
+		this.searchName = searchName;
+	}
+
+	public boolean isSearchDescription()
+	{
+		return searchDescription;
+	}
+
+	public void setSearchDescription(boolean searchDescription)
+	{
+		this.searchDescription = searchDescription;
+	}
+
+	public boolean isSearchCategorNames()
+	{
+		return searchCategorNames;
+	}
+
+	public void setSearchCategorNames(boolean searchCategorNames)
+	{
+		this.searchCategorNames = searchCategorNames;
+	}
+
+	public boolean isSearchTags()
+	{
+		return searchTags;
+	}
+
+	public void setSearchTags(boolean searchTags)
+	{
+		this.searchTags = searchTags;
+	}
+
+	@Override
+	public String toString()
+	{
+		return "SearchPreferences [lastQuery=" + lastQuery + ", searchName=" + searchName + ", searchDescription=" + searchDescription + ", searchCategorNames=" + searchCategorNames + ", searchTags=" + searchTags + "]";
+	}
+}
\ No newline at end of file
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java b/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java
index d365de4af1e68fbf0d839e726dad84c5c6305175..9ef42021033c039738d9114b2326f809a8d3595e 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/Controller.java
@@ -13,6 +13,7 @@ import de.deadlocker8.budgetmaster.logic.category.CategoryHandler;
 import de.deadlocker8.budgetmaster.logic.payment.NormalPayment;
 import de.deadlocker8.budgetmaster.logic.payment.Payment;
 import de.deadlocker8.budgetmaster.logic.payment.PaymentHandler;
+import de.deadlocker8.budgetmaster.logic.search.SearchPreferences;
 import de.deadlocker8.budgetmaster.logic.serverconnection.ExceptionHandler;
 import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
 import de.deadlocker8.budgetmaster.logic.tag.TagHandler;
@@ -81,7 +82,7 @@ public class Controller extends BaseController
 	private FilterSettings filterSettings;
 	private Updater updater;
 	private Payment selectedPayment;
-	private String lastSearchQuery;
+	private SearchPreferences searchPreferences;
 
 	private boolean alertIsShowing = false;
 	private static final String DATE_FORMAT = "MMMM yyyy";
@@ -383,16 +384,16 @@ public class Controller extends BaseController
 	public Payment getSelectedPayment()
 	{
 		return selectedPayment;
-	}
-	
-	public String getLastSearchQuery()
+	}	
+
+	public SearchPreferences getSearchPreferences()
 	{
-		return lastSearchQuery;
+		return searchPreferences;
 	}
 
-	public void setLastSearchQuery(String lastSearchQuery)
+	public void setSearchPreferences(SearchPreferences searchPreferences)
 	{
-		this.lastSearchQuery = lastSearchQuery;
+		this.searchPreferences = searchPreferences;
 	}
 
 	public PaymentController getPaymentController()
diff --git a/src/de/deadlocker8/budgetmaster/ui/controller/SearchController.java b/src/de/deadlocker8/budgetmaster/ui/controller/SearchController.java
index fb45e4248282c72bcdbb43145393ddd27a4ecf8c..e0d12ca5c7ea8ee749457bb79a5aceecd0256326 100644
--- a/src/de/deadlocker8/budgetmaster/ui/controller/SearchController.java
+++ b/src/de/deadlocker8/budgetmaster/ui/controller/SearchController.java
@@ -3,6 +3,7 @@ package de.deadlocker8.budgetmaster.ui.controller;
 import java.util.ArrayList;
 
 import de.deadlocker8.budgetmaster.logic.payment.Payment;
+import de.deadlocker8.budgetmaster.logic.search.SearchPreferences;
 import de.deadlocker8.budgetmaster.logic.serverconnection.ExceptionHandler;
 import de.deadlocker8.budgetmaster.logic.serverconnection.ServerConnection;
 import de.deadlocker8.budgetmaster.logic.utils.Colors;
@@ -106,9 +107,14 @@ public class SearchController extends BaseController implements Styleable
             }	        
 	    });
 		
-		if(controller.getLastSearchQuery() != null)
+		//prefill
+		if(controller.getSearchPreferences() != null)
 		{
-			textFieldSearch.setText(controller.getLastSearchQuery());
+			textFieldSearch.setText(controller.getSearchPreferences().getLastQuery());
+			checkBoxName.setSelected(controller.getSearchPreferences().isSearchName());
+			checkBoxDescription.setSelected(controller.getSearchPreferences().isSearchDescription());
+			checkBoxCategoryName.setSelected(controller.getSearchPreferences().isSearchCategorNames());
+			checkBoxTags.setSelected(controller.getSearchPreferences().isSearchTags());
 		}
 		
 		applyStyle();	
@@ -116,8 +122,16 @@ public class SearchController extends BaseController implements Styleable
 	
 	public void search()
 	{
-		String query = textFieldSearch.getText().trim();		
-		controller.setLastSearchQuery(query);
+		String query = textFieldSearch.getText().trim();
+		if(controller.getSearchPreferences() == null)
+		{
+			controller.setSearchPreferences(new SearchPreferences());
+		}
+		controller.getSearchPreferences().setLastQuery(query);
+		controller.getSearchPreferences().setSearchName(checkBoxName.isSelected());
+		controller.getSearchPreferences().setSearchDescription(checkBoxDescription.isSelected());
+		controller.getSearchPreferences().setSearchCategorNames(checkBoxCategoryName.isSelected());
+		controller.getSearchPreferences().setSearchTags(checkBoxTags.isSelected());
 		
 		Stage modalStage = Helpers.showModal(Localization.getString(Strings.TITLE_MODAL), Localization.getString(Strings.LOAD_SEARCH), getStage(), controller.getIcon());