diff --git a/app/controllers/oer/market.php b/app/controllers/oer/market.php
index 9e15406bd578c33abd8a02b237d3d4bdcffb6fef..d1138fbd13e31605eb6ef5c6ddf9924dd98ec9ba 100644
--- a/app/controllers/oer/market.php
+++ b/app/controllers/oer/market.php
@@ -188,9 +188,24 @@ class Oer_MarketController extends StudipController
                     "oer_tags_material.tag_hash = oer_tags.tag_hash",
                     "LEFT JOIN"
                 );
+                $search->join(
+                    "oer_material_users",
+                    "oer_material_users.material_id = oer_material.material_id",
+                    "LEFT JOIN"
+                );
+                $search->join(
+                    "external_users",
+                    "oer_material_users.user_id = external_users.external_contact_id AND oer_material_users.external_contact = '1'",
+                    "LEFT JOIN"
+                );
+                $search->join(
+                    "auth_user_md5",
+                    "oer_material_users.user_id = auth_user_md5.user_id AND oer_material_users.external_contact = '0'",
+                    "LEFT JOIN"
+                );
                 $search->where(
                     "textsearch",
-                    "(oer_material.name LIKE :search OR oer_material.description LIKE :search OR oer_material.short_description LIKE :search OR oer_tags.name LIKE :search)",
+                    "(oer_material.name LIKE :search OR oer_material.description LIKE :search OR oer_material.short_description LIKE :search OR oer_tags.name LIKE :search OR external_users.name LIKE :search OR CONCAT(auth_user_md5.Vorname, ' ', auth_user_md5.Nachname) LIKE :search)",
                     ['search' => '%'.Request::get("search").'%']
                 );
             }
diff --git a/lib/models/OERHost.php b/lib/models/OERHost.php
index 19f2bb23338179b54e45245c00a612bfbf39343c..6db0747c6ca23b19943e27c2f0436c9d15fa18ae 100644
--- a/lib/models/OERHost.php
+++ b/lib/models/OERHost.php
@@ -264,8 +264,9 @@ class OERHost extends OERIdentity
     {
         $users = [];
         foreach ($material->users as $materialdata) {
-            if ($materialdata['external_contact']) {
+            if ($materialdata['oeruser']) {
                 $user = $materialdata['oeruser'];
+
                 $users[] = [
                     'user_id' => $user['foreign_id'],
                     'name' => $user['name'],
diff --git a/lib/models/OERHostOERSI.php b/lib/models/OERHostOERSI.php
index 3bb5d9f70293a36a41364e9be1c496aa6fc5b799..5e6b9dcf519296f62db9db39290a6b7d83e9eb94 100644
--- a/lib/models/OERHostOERSI.php
+++ b/lib/models/OERHostOERSI.php
@@ -69,13 +69,20 @@ class OERHostOERSI extends OERHost
                         'front_image_url' => $material_data['_source']['image'],
                         'download' => $material_data['_source']['encoding'][0]['contentUrl'] ?: '',
                         'id' => $material_data['_id'],
-                        'authors' => $material_data['_source']['creator'],
                         'organization' => $material_data['_source']['sourceOrganization'][0]['name'] ?: $material_data['_source']['publisher'][0]['name']
                     ];
                     $material->store();
 
-                    //set topics:
-                    //$material->setUsers([]);
+                    //set users:
+                    $userdata = [];
+                    foreach ((array) $material_data['_source']['creator'] as $creator) {
+                        $userdata[] = [
+                            'user_id' => md5($creator['name']),
+                            'name' => $creator['name'],
+                            'host_url' => $this['url']
+                        ];
+                    }
+                    $material->setUsers($userdata);
 
                     //set topics:
                     $material->setTopics($material_data['_source']['keywords']);
@@ -128,7 +135,6 @@ class OERHostOERSI extends OERHost
                 $data['data'] = $material['data']->getArrayCopy();
                 $data['data']['download'] = $output['encoding'][0]['contentUrl'] ?? '';
                 $data['data']['front_image_url'] = $output['image'] ?? '';
-                $data['data']['authors'] = $output['creator'];
                 $data['data']['organization'] = $output['sourceOrganization'][0]['name'] ?? $output['publisher'][0]['name'] ?? '';
                 return [
                     'data' => $data,
@@ -167,19 +173,6 @@ class OERHostOERSI extends OERHost
         return false;
     }
 
-    public function getAuthorsForMaterial(OERMaterial $material)
-    {
-        $users = [];
-        $data = $material->data->getArrayCopy();
-        foreach ((array) $data['authors'] as $author) {
-            $users[] = [
-                'name' => $author['name'],
-                'hostname' => $data['organization'] ?: $this['name']
-            ];
-        }
-        return $users;
-    }
-
     public function getDownloadURLForMaterial(OERMaterial $material)
     {
         return $material['uri'];
diff --git a/lib/models/OERMaterial.php b/lib/models/OERMaterial.php
index 911aaa2de1a583d038a6c3d18faab7555ac1b350..ea36035d78ea3a45797814566c3dd0fdae204be1 100644
--- a/lib/models/OERMaterial.php
+++ b/lib/models/OERMaterial.php
@@ -166,9 +166,11 @@ class OERMaterial extends SimpleORMap
         $cache_name = "oer_remote_searched_for_".md5($text)."_".($tag ? 1 : 0);
         $already_searched = (bool) StudipCacheFactory::getCache()->read($cache_name);
         if (!$already_searched) {
-            $host = OERHost::findOneBySQL("index_server = '1' AND allowed_as_index_server = '1' ORDER BY RAND()");
-            if ($host && !$host->isMe()) {
-                $host->fetchRemoteSearch($text, $tag);
+            $hosts = OERHost::findBySQL("index_server = '1' AND allowed_as_index_server = '1' ORDER BY RAND()");
+            foreach ($hosts as $host) {
+                if (!$host->isMe()) {
+                    $host->fetchRemoteSearch($text, $tag);
+                }
             }
             StudipCacheFactory::getCache()->read($cache_name, "1", 60);
         }