diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go
index 1ae8e46a27be5c95aed1093f572c25f7aea7343a..d0edef81da53b9bf43b365d0b95110840f24a2d7 100644
--- a/cmd/ethereum/main.go
+++ b/cmd/ethereum/main.go
@@ -159,13 +159,13 @@ func runjs(ctx *cli.Context) {
 	startEth(ctx, eth)
 	if len(ctx.Args()) == 0 {
 		runREPL(eth)
-		eth.Stop()
-		eth.WaitForShutdown()
-	} else if len(ctx.Args()) == 1 {
-		execJsFile(eth, ctx.Args()[0])
 	} else {
-		utils.Fatalf("This command can handle at most one argument.")
+		for _, file := range ctx.Args() {
+			execJsFile(eth, file)
+		}
 	}
+	eth.Stop()
+	eth.WaitForShutdown()
 }
 
 func startEth(ctx *cli.Context, eth *eth.Ethereum) {