diff --git a/lib/puppet-lint/tasks/puppet-lint.rb b/lib/puppet-lint/tasks/puppet-lint.rb
index <HASH>..<HASH> 100644
--- a/lib/puppet-lint/tasks/puppet-lint.rb
+++ b/lib/puppet-lint/tasks/puppet-lint.rb
@@ -79,7 +79,7 @@ class PuppetLint
             linter.run
             linter.print_problems
 
-            if PuppetLint.configuration.fix && !linter.problems.empty?
+            if PuppetLint.configuration.fix && !linter.problems.any? { |e| e[:check] == :syntax }
               IO.write(puppet_file, linter.manifest)
             end
           end
Do not perform automatic fixing when there is a syntax error