diff --git a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/TruffleRLanguageImpl.java b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/TruffleRLanguageImpl.java
index 17940abb3e8e8b3c06301b58525ef24f2a241eee..d610f8b2df234b49ac66fa4d508105e9ab6e8ef9 100644
--- a/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/TruffleRLanguageImpl.java
+++ b/com.oracle.truffle.r.engine/src/com/oracle/truffle/r/engine/TruffleRLanguageImpl.java
@@ -58,7 +58,7 @@ import com.oracle.truffle.r.runtime.env.RScope;
 import com.oracle.truffle.r.runtime.ffi.RFFIFactory;
 import com.oracle.truffle.r.runtime.nodes.RBaseNode;
 
-@TruffleLanguage.Registration(name = "R", id = "R", version = "3.3.2", mimeType = {RRuntime.R_APP_MIME, RRuntime.R_TEXT_MIME}, interactive = true)
+@TruffleLanguage.Registration(name = "R", id = "R", version = "3.4.0", mimeType = {RRuntime.R_APP_MIME, RRuntime.R_TEXT_MIME}, interactive = true)
 @ProvidedTags({StandardTags.CallTag.class, StandardTags.StatementTag.class, StandardTags.RootTag.class, RSyntaxTags.LoopTag.class, FunctionBodyBlockTag.class})
 public final class TruffleRLanguageImpl extends TruffleRLanguage {
 
diff --git a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCmdOptions.java b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCmdOptions.java
index d0cb3e769d91cdb1e8247b2779919f8775cb31d8..c199d40550e64c298ab3835bfe6ac8ed1ec5a6a5 100644
--- a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCmdOptions.java
+++ b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RCmdOptions.java
@@ -64,7 +64,6 @@ public final class RCmdOptions {
     }
 
     public enum RCmdOption {
-        HELP(RCmdOptionType.BOOLEAN, true, "h", "help", false, "Print short help message and exit"),
         VERSION(RCmdOptionType.BOOLEAN, true, "version", false, "Print version info and exit"),
         ENCODING(RCmdOptionType.STRING, false, "encoding=ENC", null, "Specify encoding to be used for stdin"),
         SAVE(RCmdOptionType.BOOLEAN, true, "save", false, "Do save workspace at the end of the session"),
diff --git a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RscriptCommand.java b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RscriptCommand.java
index 99ce2d589b25af2bc8de33625b1ec6e7fe876249..9dfc9438ebda6395cc7635e59be006402a1424b0 100644
--- a/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RscriptCommand.java
+++ b/com.oracle.truffle.r.launcher/src/com/oracle/truffle/r/launcher/RscriptCommand.java
@@ -31,6 +31,7 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 
+import org.graalvm.options.OptionCategory;
 import org.graalvm.polyglot.PolyglotException;
 import org.graalvm.polyglot.Source;
 
@@ -52,13 +53,11 @@ public final class RscriptCommand extends RAbstractLauncher {
     }
 
     @Override
-    protected List<String> preprocessArguments(List<String> arguments, Map<String, String> polyglotOptions) {
-        List<String> unrecognizedArgs = super.preprocessArguments(arguments, polyglotOptions);
+    protected void validateArguments(Map<String, String> polyglotOptions) {
         try {
             this.rScriptArguments = preprocessRScriptOptions(options);
-            return unrecognizedArgs;
         } catch (PrintHelp e) {
-            return Collections.singletonList("--help");
+            printHelp(OptionCategory.USER);
         }
     }