diff --git a/src/main/java/org/olat/admin/user/imp/ImportStep01.java b/src/main/java/org/olat/admin/user/imp/ImportStep01.java
index 24d293df3f1dd9752ebf7227694768567a5d3b61..437e5361fd9a01e8215f0a921b078130ee4c3b0b 100644
--- a/src/main/java/org/olat/admin/user/imp/ImportStep01.java
+++ b/src/main/java/org/olat/admin/user/imp/ImportStep01.java
@@ -28,7 +28,7 @@ import java.util.List;
 
 import org.olat.core.gui.UserRequest;
 import org.olat.core.gui.components.form.flexible.FormItemContainer;
-import org.olat.core.gui.components.form.flexible.elements.MultipleSelectionElement;
+import org.olat.core.gui.components.form.flexible.elements.SingleSelection;
 import org.olat.core.gui.components.form.flexible.impl.Form;
 import org.olat.core.gui.components.form.flexible.impl.FormLayoutContainer;
 import org.olat.core.gui.components.form.flexible.impl.elements.table.AbstractCSSIconFlexiCellRenderer;
@@ -50,9 +50,11 @@ import org.olat.core.gui.translator.Translator;
 import org.olat.core.id.Identity;
 import org.olat.user.UserManager;
 import org.olat.user.propertyhandlers.UserPropertyHandler;
+import org.springframework.beans.factory.annotation.Autowired;
 
 class ImportStep01 extends BasicStep {
 	private static final String usageIdentifyer = UserImportController.class.getCanonicalName();
+	private static final String[] theKeys = new String[]{ "", "update", "ignore" };
 
 	private boolean newUsers;
 	private boolean canCreateOLATPassword;
@@ -77,17 +79,19 @@ class ImportStep01 extends BasicStep {
 	}
 
 	private final class ImportStepForm01 extends StepFormBasicController {
-
+		
+		
 		private FormLayoutContainer textContainer;
-		private MultipleSelectionElement updateEl;
-		private MultipleSelectionElement updatePasswordEl;
+		private SingleSelection updateEl, updatePasswordEl;
 		private List<UserPropertyHandler> userPropertyHandlers;
 
+		@Autowired
+		private UserManager userManager;
+		
 		public ImportStepForm01(UserRequest ureq, WindowControl control, Form rootForm, StepsRunContext runContext) {
 			super(ureq, control, rootForm, runContext, LAYOUT_VERTICAL, null);
 			// use custom translator with fallback to user properties translator
-			UserManager um = UserManager.getInstance();
-			setTranslator(um.getPropertyHandlerTranslator(getTranslator()));
+			setTranslator(userManager.getPropertyHandlerTranslator(getTranslator()));
 			flc.setTranslator(getTranslator());
 			initForm(ureq);
 		}
@@ -100,19 +104,34 @@ class ImportStep01 extends BasicStep {
 		@Override
 		protected void formOK(UserRequest ureq) {
 			Boolean updateUsers = Boolean.FALSE;
-			if(updateEl != null && updateEl.isAtLeastSelected(1)) {
+			if(updateEl != null && updateEl.isOneSelected() && updateEl.isSelected(1)) {
 				updateUsers = Boolean.TRUE; 
 			}
 			addToRunContext("updateUsers", updateUsers);
 			
 			Boolean updatePasswords = Boolean.FALSE;
-			if(updatePasswordEl != null && updatePasswordEl.isAtLeastSelected(1)) {
+			if(updatePasswordEl != null && updatePasswordEl.isOneSelected() && updatePasswordEl.isSelected(1)) {
 				updatePasswords = Boolean.TRUE; 
 			}
 			addToRunContext("updatePasswords", updatePasswords);
 			fireEvent(ureq, StepsEvent.ACTIVATE_NEXT);
 		}
 
+		@Override
+		protected boolean validateFormLogic(UserRequest ureq) {
+			boolean allOk = true;
+			if(updateEl != null && (!updateEl.isOneSelected() || updateEl.isSelected(0))) {
+				updateEl.setErrorKey("form.mandatory.hover", null);
+				allOk &= false;
+			}
+			
+			if(updatePasswordEl != null && (!updatePasswordEl.isOneSelected() || updatePasswordEl.isSelected(0))) {
+				updatePasswordEl.setErrorKey("form.mandatory.hover", null);
+				allOk &= false;
+			}
+			return allOk & super.validateFormLogic(ureq);
+		}
+
 		@Override
 		protected void initForm(FormItemContainer formLayout, Controller listener, UserRequest ureq) {
 			FormLayoutContainer formLayoutVertical = FormLayoutContainer.createVerticalFormLayout("vertical", getTranslator());
@@ -135,15 +154,13 @@ class ImportStep01 extends BasicStep {
 			textContainer.contextPut("overview", overview);
 			textContainer.contextPut("updateusers", updateIdents.isEmpty());
 			if(!updateIdents.isEmpty()) {
-				String[] updateValues = new String[]{ translate("update.user") };
+				String[] theValues = new String[]{ translate("update.select"), translate("update.yes"), translate("update.no") };
 				updateEl = uifactory
-						.addCheckboxesHorizontal("update.user", textContainer, new String[]{"on"}, updateValues);
-				updateEl.select("on", true);
+						.addDropdownSingleselect("update.user", textContainer, theKeys, theValues, null);
 				
 				if(canCreateOLATPassword) {
-					String[] theValues = new String[]{ translate("update.password") };
 					updatePasswordEl = uifactory
-							.addCheckboxesHorizontal("update.password", textContainer, new String[]{"on"}, theValues);
+						.addDropdownSingleselect("update.password", textContainer, theKeys, theValues, null);
 				}
 			}
 
@@ -175,45 +192,36 @@ class ImportStep01 extends BasicStep {
 			uifactory.addTableElement(getWindowControl(), "newUsers", tableDataModel, getTranslator(), formLayoutVertical);
 		}
 	}
-}
+	
+	private static class UserNewOldCustomFlexiCellRenderer extends AbstractCSSIconFlexiCellRenderer {
 
-/**
- * 
- * Description:<br>
- * Special cell renderer that uses a css class icon to display the new user type
- * 
- * <P>
- * Initial Date:  21.03.2008 <br>
- * @author gnaegi
- */
-class UserNewOldCustomFlexiCellRenderer extends AbstractCSSIconFlexiCellRenderer {
-
-	@Override
-	protected String getCellValue(Object cellValue) {
-		return "";
-	}
+		@Override
+		protected String getCellValue(Object cellValue) {
+			return "";
+		}
 
-	@Override
-	protected String getCssClass(Object cellValue) {
-		if (cellValue instanceof Boolean) {
-			if (((Boolean) cellValue).booleanValue()) {
-				return "o_icon_new";
-			} else {
-				return "o_icon_warn";
+		@Override
+		protected String getCssClass(Object cellValue) {
+			if (cellValue instanceof Boolean) {
+				if (((Boolean) cellValue).booleanValue()) {
+					return "o_icon_new";
+				} else {
+					return "o_icon_warn";
+				}
 			}
+			return "o_icon_error";
 		}
-		return "o_icon_error";
-	}
 
-	@Override
-	protected String getHoverText(Object cellValue, Translator translator) {
-		if (cellValue instanceof Boolean) {
-			if (((Boolean) cellValue).booleanValue()) {
-				return translator.translate("import.user.new.alt");
-			} else {
-				return translator.translate("import.user.existing.alt");
+		@Override
+		protected String getHoverText(Object cellValue, Translator translator) {
+			if (cellValue instanceof Boolean) {
+				if (((Boolean) cellValue).booleanValue()) {
+					return translator.translate("import.user.new.alt");
+				} else {
+					return translator.translate("import.user.existing.alt");
+				}
 			}
+			return translator.translate("error");
 		}
-		return translator.translate("error");
 	}
 }
\ No newline at end of file
diff --git a/src/main/java/org/olat/admin/user/imp/_content/step1.html b/src/main/java/org/olat/admin/user/imp/_content/step1.html
index 5ce3a98512eac4eaec7c8ba4f47e8f294189bedd..4d6282989155a0793199ac3b86854d4405dd23a2 100644
--- a/src/main/java/org/olat/admin/user/imp/_content/step1.html
+++ b/src/main/java/org/olat/admin/user/imp/_content/step1.html
@@ -1,19 +1,37 @@
 <h4>$r.translate("step1.description")</h4>
 #if($newusers=="true")
-	$overview
+	<p class="o_warning">$overview</p>
 #else 
-	$r.translate("step1.nonewusers")
-#end
-#if($r.visible("update.password"))
-	<br/><br/>$r.translate("step1.passwordEmails")
+	<p class="o_error">$r.translate("step1.nonewusers")</p>
 #end
 
 #if($r.visible("update.user"))
-	<br/><br/>$r.render("update.user")
+	<div class="form-group  #if($f.hasError("update.user")) has-feedback has-error #end clearfix">
+		$r.render("update.user_LABEL", "update.user", "col-sm-3")
+		<div class="col-sm-9">
+			$r.render("update.user", "form")
+			#if($f.hasError("update.user"))
+				<span class="o_icon o_icon_error form-control-feedback"></span>
+			#end
+		</div>
+		#if($f.hasError("update.user"))
+			<div class="col-sm-offset-3 col-sm-9">$r.render("update.user_ERROR")</div>
+		#end
+	</div>
 #end
 #if($r.visible("update.password"))
-	#if(!$r.visible("update.user"))
-		<br/>
-	#end
-	<br/>$r.render("update.password")
+	<p class="o_desc">$r.translate("step1.passwordEmails")</p>
+	
+	<div class="form-group  #if($f.hasError("update.password")) has-feedback has-error #end clearfix">
+		$r.render("update.password_LABEL", "update.password", "col-sm-3")
+		<div class="col-sm-9">
+			$r.render("update.password", "form")
+			#if($f.hasError("update.password"))
+				<span class="o_icon o_icon_error form-control-feedback"></span>
+			#end
+		</div>
+		#if($f.hasError("update.password"))
+			<div class="col-sm-offset-3 col-sm-9">$r.render("update.password_ERROR")</div>
+		#end
+	</div>
 #end
\ No newline at end of file
diff --git a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_de.properties b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_de.properties
index 1ec4ecb610695085343613d638843e83657baa9b..31dc83f510d95046df0710c94bc8c621d4b202ff 100644
--- a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_de.properties
+++ b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_de.properties
@@ -50,5 +50,8 @@ table.user.lang=Sprache
 table.user.login=Benutzername
 table.user.pwd=Passwort
 title=Import von Benutzern
-update.password=Passw\u00F6rter \u00E4ndern f\u00FCr existierende Benutzer
-update.user=Existierende Benutzer \u00E4ndern
+update.password=Passw\u00F6rter bereits bestehender Benutzer aktualisieren
+update.user=Daten bereits bestehender Benutzer aktualisieren
+update.select=Bitte w\u00E4hlen Sie
+update.yes=Ja
+update.no=Nein
diff --git a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_en.properties b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_en.properties
index a3f2f9268959a054b33fd56818b0b94c518c943c..84e5ceccb2e8307ab748b6fae122729c1748a691 100644
--- a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_en.properties
+++ b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_en.properties
@@ -50,5 +50,8 @@ table.user.lang=Language
 table.user.login=User name
 table.user.pwd=Password
 title=User import
-update.password=Update passwords of current users
-update.user=Update current users
+update.password=Update passwords of existing users
+update.user=Update user profile data of existing users
+update.select=Please select
+update.yes=Yes
+update.no=No
diff --git a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_fr.properties b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_fr.properties
index 14abf37532bd7c827d73edd8971a43c56ec00367..2e2a980999dda1112918a0402d9defe3f621d094 100644
--- a/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_fr.properties
+++ b/src/main/java/org/olat/admin/user/imp/_i18n/LocalStrings_fr.properties
@@ -50,5 +50,8 @@ table.user.lang=Langue
 table.user.login=Nom d'utilisateur
 table.user.pwd=Mot de passe
 title=Importation des utilisateurs
-update.password=Changer les mots-de-passe de utilisateurs existants
-update.user=Mettre \u00E0 jour les utilisateurs existants
+update.password=Mettre \u00E0 jour les mots-de-passe des utilisateurs existants
+update.user=Mettre \u00E0 jour le profil des utilisateurs existants
+update.select=S'il vous pla\u00EEt, choisissez une option 
+update.yes=Oui
+update.no=Non
diff --git a/src/main/java/org/olat/core/util/mail/ui/MailSettingsAdminController.java b/src/main/java/org/olat/core/util/mail/ui/MailSettingsAdminController.java
index 9de97619a0c548f9ef955c5cc8caab0bdbbfc87a..2395c1d5e3394994589e84a4fad6330436f8aac6 100644
--- a/src/main/java/org/olat/core/util/mail/ui/MailSettingsAdminController.java
+++ b/src/main/java/org/olat/core/util/mail/ui/MailSettingsAdminController.java
@@ -32,7 +32,6 @@ import org.olat.core.gui.control.Controller;
 import org.olat.core.gui.control.WindowControl;
 import org.olat.core.util.Util;
 import org.olat.core.util.mail.MailModule;
-import org.olat.core.util.mail.MailUIFactory;
 
 /**
  * 
diff --git a/src/main/java/org/olat/core/util/mail/ui/MailTemplateAdminController.java b/src/main/java/org/olat/core/util/mail/ui/MailTemplateAdminController.java
index 778c2894d1082c9b4d26d94d6b3d3e0bc202efc7..8bc9222bd2b94a064457f4bb6843de01c5c90979 100644
--- a/src/main/java/org/olat/core/util/mail/ui/MailTemplateAdminController.java
+++ b/src/main/java/org/olat/core/util/mail/ui/MailTemplateAdminController.java
@@ -30,7 +30,6 @@ import org.olat.core.gui.control.WindowControl;
 import org.olat.core.util.Util;
 import org.olat.core.util.mail.MailManager;
 import org.olat.core.util.mail.MailModule;
-import org.olat.core.util.mail.MailUIFactory;
 
 /**
  * 
diff --git a/src/main/java/org/olat/group/ui/main/BGTableItem.java b/src/main/java/org/olat/group/ui/main/BGTableItem.java
index 65bdda339f61ac0f74ed2179a3b234e2b099dd14..5e86039413c3fbf16ac8e882084e88f7612175fc 100644
--- a/src/main/java/org/olat/group/ui/main/BGTableItem.java
+++ b/src/main/java/org/olat/group/ui/main/BGTableItem.java
@@ -217,9 +217,11 @@ public class BGTableItem {
 	}
 	
 	public void addRelation(BGRepositoryEntryRelation resource) {
+		if(resource == null) return;
 		if(relations == null) {
 			relations = new ArrayList<RepositoryEntryShort>(3);
-		} else if(relations.size() < 3) {
+		}
+		if(relations.size() < 3) {
 			relations.add(new REShort(resource));
 		}
 	}