diff --git a/bin/is b/bin/is
index d83ff55906e11cfce1288e6b18cf4f1560a170fc..3fb9704d1750076268f0f1e3ea648224c167ad10 100755
--- a/bin/is
+++ b/bin/is
@@ -201,9 +201,7 @@ def c_search(parser, args):
     Search in repository
     '''
     repoman = load_repositories(args)
-    for repo in repoman:
-        arrow(repo.config.name)
-        repo.search(args.pattern)
+    repoman.search(args.pattern)
 
 def c_get(parser, args):
     '''
diff --git a/installsystems/repository.py b/installsystems/repository.py
index 54375bfa6c2e40f936652e66dc6aa68d56fe9ad5..9a998fffe95baa0fd1961e428d8a3c3a68fc1c99 100644
--- a/installsystems/repository.py
+++ b/installsystems/repository.py
@@ -568,3 +568,11 @@ class RepositoryManager(object):
             if verbose:
                 s += " (%s)" % repo.config.path
             out(s)
+
+    def search(self, pattern):
+        '''
+        Search pattern accross all registered repositories
+        '''
+        for repo in self.repos:
+            arrow(repo.config.name)
+            repo.search(pattern)