diff --git a/module/VuFind/src/VuFind/Controller/MyResearchController.php b/module/VuFind/src/VuFind/Controller/MyResearchController.php
index a71a6456bbd477c0ab91b799bffee75eef289afa..d3503b55387a436bead8de5603899245ce37ea9f 100644
--- a/module/VuFind/src/VuFind/Controller/MyResearchController.php
+++ b/module/VuFind/src/VuFind/Controller/MyResearchController.php
@@ -744,7 +744,7 @@ class MyResearchController extends AbstractBase
                 ->getResults()->getRecord($current['id']);
         } catch (RecordMissingException $e) {
             $factory = $this->getServiceLocator()->get('RecordDriverPluginManager');
-            $record = clone($factory->get('Missing'));
+            $record = $factory->get('Missing');
             $record->setRawData(
                 array('id' => isset($current['id']) ? $current['id'] : null)
             );
diff --git a/module/VuFind/src/VuFind/Record/Loader.php b/module/VuFind/src/VuFind/Record/Loader.php
index 853eb850161355b847e25419057842abcd1db504..6ed4c6040fd2800c48b2817fadba05dc86270c8f 100644
--- a/module/VuFind/src/VuFind/Record/Loader.php
+++ b/module/VuFind/src/VuFind/Record/Loader.php
@@ -134,7 +134,7 @@ class Loader implements ServiceLocatorAwareInterface
                 $fields['id'] = $details['id'];
                 $factory = $this->getServiceLocator()
                     ->get('RecordDriverPluginManager');
-                $retVal[$i] = clone($factory->get('Missing'));
+                $retVal[$i] = $factory->get('Missing');
                 $retVal[$i]->setRawData($fields);
                 $retVal[$i]->setResourceSource($details['source']);
             }
diff --git a/module/VuFind/src/VuFind/RecordDriver/PluginManager.php b/module/VuFind/src/VuFind/RecordDriver/PluginManager.php
index 6c61443e1c0952373b45d967523be2f13185f7e7..bd4e63a20bfde09cffe9108538d5efcf4cca6584 100644
--- a/module/VuFind/src/VuFind/RecordDriver/PluginManager.php
+++ b/module/VuFind/src/VuFind/RecordDriver/PluginManager.php
@@ -38,6 +38,23 @@ namespace VuFind\RecordDriver;
  */
 class PluginManager extends \VuFind\ServiceManager\AbstractPluginManager
 {
+    /**
+     * Constructor
+     *
+     * Make sure table gateways are properly initialized.
+     *
+     * @param null|ConfigInterface $configuration Configuration settings (optional)
+     */
+    public function __construct(
+        \Zend\ServiceManager\ConfigInterface $configuration = null
+    ) {
+        parent::__construct($configuration);
+
+        // Record drivers are not meant to be shared -- every time we retrieve one,
+        // we are building a brand new object.
+        $this->setShareByDefault(false);
+    }
+
     /**
      * Return the name of the base class or interface that plug-ins must conform
      * to.
diff --git a/module/VuFind/src/VuFind/Search/Solr/Results.php b/module/VuFind/src/VuFind/Search/Solr/Results.php
index 3e5b0bf6ed2c7f40d2b1bf6e84892ffa347aaf2f..1e9e6a280a3842e22ec966961f4f032a39d6e1e9 100644
--- a/module/VuFind/src/VuFind/Search/Solr/Results.php
+++ b/module/VuFind/src/VuFind/Search/Solr/Results.php
@@ -543,7 +543,7 @@ class Results extends BaseResults
         $recordType = $factory->has($key) ? $key : 'SolrDefault';
 
         // Build the object:
-        $driver = clone($factory->get($recordType));
+        $driver = $factory->get($recordType);
         $driver->setRawData($data);
         return $driver;
     }
diff --git a/module/VuFind/src/VuFind/Search/SolrAuth/Results.php b/module/VuFind/src/VuFind/Search/SolrAuth/Results.php
index d391bc9793e1368fe04351c893cf6e8f75a45768..35fb26ebb19300e5efcdf7adf3cac6da36be9607 100644
--- a/module/VuFind/src/VuFind/Search/SolrAuth/Results.php
+++ b/module/VuFind/src/VuFind/Search/SolrAuth/Results.php
@@ -64,7 +64,7 @@ class Results extends \VuFind\Search\Solr\Results
     protected function initRecordDriver($data)
     {
         $factory = $this->getServiceLocator()->get('RecordDriverPluginManager');
-        $driver = clone($factory->get('SolrAuth'));
+        $driver = $factory->get('SolrAuth');
         $driver->setRawData($data);
         return $driver;
     }
diff --git a/module/VuFind/src/VuFind/Search/SolrReserves/Results.php b/module/VuFind/src/VuFind/Search/SolrReserves/Results.php
index 104bcef35dd49ac3d70ec5fa987b6223a2cd4ddc..0b3038b7d5bf8bd214bad2f562cf8232d80808eb 100644
--- a/module/VuFind/src/VuFind/Search/SolrReserves/Results.php
+++ b/module/VuFind/src/VuFind/Search/SolrReserves/Results.php
@@ -66,7 +66,7 @@ class Results extends \VuFind\Search\Solr\Results
     protected function initRecordDriver($data)
     {
         $factory = $this->getServiceLocator()->get('RecordDriverPluginManager');
-        $driver = clone($factory->get('SolrReserves'));
+        $driver = $factory->get('SolrReserves');
         $driver->setRawData($data);
         return $driver;
     }
diff --git a/module/VuFind/src/VuFind/Search/Summon/Results.php b/module/VuFind/src/VuFind/Search/Summon/Results.php
index 8bf28e69283bef4978b1c60aae684fca880eacf4..efe1dce981f8d439418ac5b724b6ad9e237e93b6 100644
--- a/module/VuFind/src/VuFind/Search/Summon/Results.php
+++ b/module/VuFind/src/VuFind/Search/Summon/Results.php
@@ -161,7 +161,7 @@ class Results extends BaseResults
     protected function initRecordDriver($data)
     {
         $factory = $this->getServiceLocator()->get('RecordDriverPluginManager');
-        $driver = clone($factory->get('Summon'));
+        $driver = $factory->get('Summon');
         $driver->setRawData($data);
         return $driver;
     }
diff --git a/module/VuFind/src/VuFind/Search/WorldCat/Results.php b/module/VuFind/src/VuFind/Search/WorldCat/Results.php
index f5cd79d3ee2fc2d78db46b24d0ddcb1db2b45a9a..bd219419d7c3fab5b75ecbf4309263ede18d5401 100644
--- a/module/VuFind/src/VuFind/Search/WorldCat/Results.php
+++ b/module/VuFind/src/VuFind/Search/WorldCat/Results.php
@@ -125,7 +125,7 @@ class Results extends BaseResults
     protected function initRecordDriver($data)
     {
         $factory = $this->getServiceLocator()->get('RecordDriverPluginManager');
-        $driver = clone($factory->get('WorldCat'));
+        $driver = $factory->get('WorldCat');
         $driver->setRawData($data);
         return $driver;
     }