diff --git a/src/main/java/org/jastadd/relast/compiler/Compiler.java b/src/main/java/org/jastadd/relast/compiler/Compiler.java
index f423ad941cb4cd4a7caf9227a31902401b9ca647..4f82148370b1ca1c49799d9a93cbce5151945d51 100644
--- a/src/main/java/org/jastadd/relast/compiler/Compiler.java
+++ b/src/main/java/org/jastadd/relast/compiler/Compiler.java
@@ -17,8 +17,6 @@ import java.nio.file.Files;
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
 
 public class Compiler {
 
@@ -47,7 +45,7 @@ public class Compiler {
     addOptions();
     commandLine = new ArgumentParser();
     commandLine.addOptions(options);
-    commandLine.parseArgs(args, System.err);
+    boolean unknownOptions = !commandLine.parseArgs(args, System.err);
 
     Path inputPath;
     if (optionInputDir.isMatched()) {
@@ -79,10 +77,8 @@ public class Compiler {
 
     printMessage("Running RelAST Preprocessor");
 
-    // TODO treat unknown options appropriately
-    List<String> otherArgs = Collections.emptyList();
-    if (!otherArgs.isEmpty()) {
-      printMessage("Unsupported arguments will be ignored: " + otherArgs);
+    if (unknownOptions) {
+      printMessage("Some options were unsupported!");
     }
 
     Program program = parseProgram(inputPath);