diff --git a/ec2/spark_ec2.py b/ec2/spark_ec2.py
index d8890f26f4e87ea7e921951a3134f632c3e503c5..dd75c49abe64d0e5effd27d9b8c5c53cbacd49ed 100755
--- a/ec2/spark_ec2.py
+++ b/ec2/spark_ec2.py
@@ -495,8 +495,15 @@ def deploy_files(conn, root_dir, opts, master_nodes, slave_nodes, modules):
   cluster_url = "%s:7077" % active_master
 
   if "." in opts.spark_version:
+    # Pre-built deploy
     (spark_v, shark_v) = get_spark_shark_version(opts)
+  else if opts.shark_version is None:
+    # Spark-only custom deploy
+    spark_v = "%s|%s" % (opts.spark_git_repo, opts.spark_version)
+    shark_v = ""
+    modules = filter(lambda x: x != "shark", modules)
   else:
+    # Spark and Shark custom deploy
     spark_v = "%s|%s" % (opts.spark_git_repo, opts.spark_version)
     shark_v = "%s|%s" % (opts.shark_git_repo, opts.shark_version)