diff --git a/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/window/filechooser/RwtScoutFileChooser.java b/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/window/filechooser/RwtScoutFileChooser.java
index 5be80ef..84f5af8 100644
--- a/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/window/filechooser/RwtScoutFileChooser.java
+++ b/org.eclipse.scout.rt.ui.rap.incubator.filechooser/src/org/eclipse/scout/rt/ui/rap/window/filechooser/RwtScoutFileChooser.java
@@ -18,6 +18,7 @@
 import org.eclipse.scout.commons.logger.IScoutLogger;
 import org.eclipse.scout.commons.logger.ScoutLogManager;
 import org.eclipse.scout.rt.client.ui.basic.filechooser.IFileChooser;
+import org.eclipse.scout.rt.shared.ScoutTexts;
 import org.eclipse.scout.rt.ui.rap.IRwtEnvironment;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.widgets.FileDialog;
@@ -108,6 +109,7 @@
       LOG.info("Setting file name using IFileChooserField.getFileName() is currently possible in RAP. Operation is ignored.");
 //      dialog.setFileName(getScoutFileChooser().getFileName());
     }
+    setFileDialogTitle(dialog, getScoutFileChooser().isMultiSelect());
     dialog.open();
     String[] selectedFiles = dialog.getFileNames();
     if (selectedFiles != null && selectedFiles.length > 0) {
@@ -120,6 +122,15 @@
     return CollectionUtility.emptyArrayList();
   }
 
+  private void setFileDialogTitle(FileDialog fileDialog, boolean isMultiselect) {
+    if (isMultiselect) {
+      fileDialog.setText(ScoutTexts.get("FileChooserRAPMultipleFiles"));
+    }
+    else {
+      fileDialog.setText(ScoutTexts.get("FileChooserRAPSingleFile"));
+    }
+  }
+
   public IFileChooser getScoutFileChooser() {
     return m_scoutFileChooser;
   }
