diff --git a/tools/run_proguard_dx_on_app.py b/tools/run_proguard_dx_on_app.py
index 4e408ff..c485ed2 100755
--- a/tools/run_proguard_dx_on_app.py
+++ b/tools/run_proguard_dx_on_app.py
@@ -61,10 +61,10 @@
   return parser.parse_args(argv)
 
 def Main(argv):
-  utils.check_java_version()
   options = parse_arguments(argv)
   if options.golem:
     golem.link_third_party()
+  utils.check_java_version()
   outdir = options.out
 
   if options.app == 'gmscore':
diff --git a/tools/test_framework.py b/tools/test_framework.py
index f30d7d9..99e0719 100755
--- a/tools/test_framework.py
+++ b/tools/test_framework.py
@@ -65,11 +65,11 @@
   return parser.parse_args()
 
 def Main():
-  utils.check_java_version()
   args = parse_arguments()
-  output_dir = args.output
   if args.golem:
     golem.link_third_party()
+  utils.check_java_version()
+  output_dir = args.output
   with utils.TempDir() as temp_dir:
 
     if not output_dir:
