diff --git a/bin/sqlint b/bin/sqlint
index c7bc08ff664194b809f8e42f6e26a0063296cb1b..68bb42918374058fb58478c54d526819044dc180 100755
--- a/bin/sqlint
+++ b/bin/sqlint
@@ -5,8 +5,6 @@ require 'pg_query'
 require 'sqlint'
 require 'optparse'
 
-LIMIT = 1000
-
 options = { limit: 1000 }
 optparse = OptionParser.new do |opts|
   opts.banner = "Usage: #{File.basename($0)} [options] file.sql ..."
@@ -40,24 +38,27 @@ class String
   end
 end
 
+def display_lint(lint)
+  message_lines = lint.message.split("\n")
+  puts [
+    lint.filename,
+    lint.line,
+    lint.column,
+    ERROR_TYPES[lint.type] + " " + message_lines.shift.sanitise
+  ].join(":")
+  message_lines.each do |line|
+    puts "  " + line.sanitise
+  end
+end
+
 saw_errors = false
 ARGV.each do |filename|
   File.open(filename, 'r') do |file|
     results = SQLint::Linter.new(filename, file).run.first(options[:limit])
     results.each do |lint|
-      message_lines = lint.message.split("\n")
-      puts [
-        lint.filename,
-        lint.line,
-        lint.column,
-        ERROR_TYPES[lint.type] + " " + message_lines.shift.sanitise
-      ].join(":")
-      message_lines.each do |line|
-        puts "  " + line.sanitise
-      end
-
-      saw_errors ||= (lint.type == :error)
+      display_lint(lint)
     end
+    saw_errors ||= results.any? { |lint| lint.type == :error }
   end
 end