diff --git a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java
index 952391869499a2768b71906b2b8835e839e5c3d5..dcda32e81b0448e4fba6ed069702ae5d2b27ba31 100644
--- a/src/main/java/org/olat/admin/user/groups/GroupSearchController.java
+++ b/src/main/java/org/olat/admin/user/groups/GroupSearchController.java
@@ -35,6 +35,7 @@ import org.olat.core.gui.components.form.flexible.elements.TextElement;
 import org.olat.core.gui.components.form.flexible.impl.Form;
 import org.olat.core.gui.components.form.flexible.impl.FormEvent;
 import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
+import org.olat.core.gui.components.form.flexible.impl.elements.FormSubmit;
 import org.olat.core.gui.components.form.flexible.impl.elements.MultipleSelectionElementImpl;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.DefaultFlexiColumnModel;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.FlexiTableColumnModel;
@@ -69,7 +70,8 @@ import org.olat.group.ui.BusinessGroupTableModel;
 public class GroupSearchController extends StepFormBasicController {
 
 	private TextElement search;
-	private FormLink searchButton;
+	private FormSubmit searchButton;
+	private FormLink saveLink, searchLink;
 	private FormItem errorComp;
 	private FormLayoutContainer tableCont;
 	private GroupTableDataModel tableDataModel;
@@ -105,8 +107,11 @@ public class GroupSearchController extends StepFormBasicController {
 		setFormDescription("group.search.description");
 
 		search = uifactory.addTextElement("search.field", "search.field", 100, "", formLayout);
-		searchButton = uifactory.addFormLink("search", formLayout, Link.BUTTON_SMALL);
-		if (!isUsedInStepWizzard()) {
+		
+		if (isUsedInStepWizzard()) {
+			searchLink = uifactory.addFormLink("search", formLayout, Link.BUTTON);
+		} else {
+			searchButton = uifactory.addFormSubmitButton("search", formLayout);
 			uifactory.addSpacerElement("space", formLayout, false);
 		}
 		
@@ -131,18 +136,40 @@ public class GroupSearchController extends StepFormBasicController {
 		tableCont.add("groupList", table);
 		
 		if (!isUsedInStepWizzard()) {
-			uifactory.addFormSubmitButton("save", formLayout);
+			saveLink = uifactory.addFormLink("save", formLayout, Link.BUTTON);
+		}
+	}
+	
+	/**
+	 * @see org.olat.core.gui.components.form.flexible.impl.FormBasicController#formOK(org.olat.core.gui.UserRequest)
+	 */
+	@Override
+	protected void formOK(UserRequest ureq) {
+		if(isUsedInStepWizzard()) {
+			doSave(ureq);//in wizard form OK == next
+		} else {
+			doSearchGroups(ureq);
 		}
 	}
 	
 	@Override
 	protected void formInnerEvent(UserRequest ureq, FormItem source, FormEvent event) {
-		if (source == searchButton || source == search) {
-			String searchValue = search.getValue();
-			doSearchGroups(searchValue, ureq);
-			lastSearchValue = searchValue;
+		if (source == searchButton || source == searchLink || source == search) {
+			doSearchGroups(ureq);
+		} else if(source == saveLink) {
+			if(validateFormLogic(ureq)) {
+				doSave(ureq);
+			}
+		} else {
+			super.formInnerEvent(ureq, source, event);
 		}
 	}
+	
+	private void doSearchGroups(UserRequest ureq) {
+		String searchValue = search.getValue();
+		doSearchGroups(searchValue, ureq);
+		lastSearchValue = searchValue;
+	}
 
 	/**
 	 * Perform a search for the given search value in the search result providers
@@ -202,7 +229,7 @@ public class GroupSearchController extends StepFormBasicController {
 		if (isUsedInStepWizzard()) {
 			return true;
 		}
-		if ((lastSearchValue == null && !StringHelper.containsNonWhitespace(searchValue))
+		if ((lastSearchValue == null && StringHelper.containsNonWhitespace(searchValue))
 				|| (lastSearchValue != null && !lastSearchValue.equals(searchValue))) {
 			// User pressed enter in input field to search for groups, no group
 			// selected yet. Just search for groups that matches for this input
@@ -220,12 +247,8 @@ public class GroupSearchController extends StepFormBasicController {
 		}
 		return result;
 	}
-	
-	/**
-	 * @see org.olat.core.gui.components.form.flexible.impl.FormBasicController#formOK(org.olat.core.gui.UserRequest)
-	 */
-	@Override
-	protected void formOK(UserRequest ureq) {
+
+	private void doSave(UserRequest ureq) {
 		List<Long> ownerGroups = getCheckedTutorKeys();
 		List<Long> partGroups = getCheckedParticipantKeys();
 		List<Long> mailGroups = getCheckedMailKeys();
@@ -246,7 +269,7 @@ public class GroupSearchController extends StepFormBasicController {
 			fireEvent(ureq, StepsEvent.ACTIVATE_NEXT);
 		} else {
 			fireEvent(ureq, new AddToGroupsEvent(ownerGroups, partGroups, mailGroups));
-		}		
+		}	
 	}
 
 	private List<Long> getCheckedTutorKeys() {