diff --git a/lib/travis/services/find_admin.rb b/lib/travis/services/find_admin.rb
index <HASH>..<HASH> 100644
--- a/lib/travis/services/find_admin.rb
+++ b/lib/travis/services/find_admin.rb
@@ -11,8 +11,13 @@ module Travis
       register :find_admin
 
       def run
-        admin = candidates.detect { |user| validate(user) }
-        admin || raise_admin_missing
+        if repository
+          admin = candidates.detect { |user| validate(user) }
+          admin || raise_admin_missing
+        else
+          error "[github-admin] repository is nil: #{params.inspect}"
+          raise Travis::AdminMissing, "no repository given"
+        end
       end
       instrument :run
 
diff --git a/spec/travis/services/find_admin_spec.rb b/spec/travis/services/find_admin_spec.rb
index <HASH>..<HASH> 100644
--- a/spec/travis/services/find_admin_spec.rb
+++ b/spec/travis/services/find_admin_spec.rb
@@ -53,6 +53,12 @@ describe Travis::Services::FindAdmin do
       end
     end
 
+    describe 'missing repository' do
+      it 'raises Travis::AdminMissing' do
+        expect { described_class.new.run }.to raise_error(Travis::AdminMissing)
+      end
+    end
+
     def ignore_exception(&block)
       block.call
     rescue Travis::AdminMissing
calling find_admin without a repo now raises AdminMissing, too, see travis-ci/travis-ci#<I>