diff --git a/src/Api/Adapter/OaiPmhRepositoryTokenAdapter.php b/src/Api/Adapter/OaiPmhRepositoryTokenAdapter.php
index e6c02b58bcb52eca323783c996df4c926ce81dd3..209ca3c223ead78b62ac38da4041648f6389fba5 100644
--- a/src/Api/Adapter/OaiPmhRepositoryTokenAdapter.php
+++ b/src/Api/Adapter/OaiPmhRepositoryTokenAdapter.php
@@ -75,21 +75,24 @@ class OaiPmhRepositoryTokenAdapter extends AbstractEntityAdapter
 
     public function buildQuery(QueryBuilder $qb, array $query)
     {
+        $isOldOmeka = \Omeka\Module::VERSION < 2;
+        $alias = $isOldOmeka ? \Omeka\Entity\Item::class : 'omeka_root';
+
         if (isset($query['id'])) {
             $qb->andWhere($qb->expr()->eq(
-                'omeka_root.id',
+                $alias . '.id',
                 $this->createNamedParameter($qb, $query['id']))
             );
         }
         if (isset($query['verb'])) {
             $qb->andWhere($qb->expr()->eq(
-                'omeka_root.verb',
+                $alias . '.verb',
                 $this->createNamedParameter($qb, $query['verb']))
             );
         }
         if (isset($query['expired']) && $query['expired']) {
             $qb->andWhere($qb->expr()->lte(
-                'omeka_root.expiration',
+                $alias . '.expiration',
                 $this->createNamedParameter($qb, (new DateTime)->format(DateTime::ATOM))
             ));
         }
diff --git a/src/OaiPmh/ResponseGenerator.php b/src/OaiPmh/ResponseGenerator.php
index 959b529f245cfaa10b0d5d4bb2001ce9c439f165..b1feaed6d56bff55bf3b676e007aa2dbab7d2efe 100644
--- a/src/OaiPmh/ResponseGenerator.php
+++ b/src/OaiPmh/ResponseGenerator.php
@@ -618,12 +618,19 @@ class ResponseGenerator extends AbstractXmlGenerator
      */
     private function listResponse($verb, $metadataPrefix, $cursor, $set, $from, $until)
     {
+        $isOldOmeka = \Omeka\Module::VERSION < 2;
+        $alias = $isOldOmeka ? \Omeka\Entity\Item::class : 'omeka_root';
+
+        /**
+         * @var \Omeka\Api\Adapter\Manager $apiAdapterManager
+         * @var \Doctrine\ORM\EntityManager $entityManager
+         */
         $apiAdapterManager = $this->serviceLocator->get('Omeka\ApiAdapterManager');
         $entityManager = $this->serviceLocator->get('Omeka\EntityManager');
 
-        $itemRepository = $entityManager->getRepository('Omeka\Entity\Item');
-        $qb = $itemRepository->createQueryBuilder('omeka_root');
-        $qb->select('omeka_root');
+        $itemRepository = $entityManager->getRepository(\Omeka\Entity\Item::class);
+        $qb = $itemRepository->createQueryBuilder($alias);
+        $qb->select($alias);
 
         $query = new ArrayObject;
 
@@ -667,12 +674,12 @@ class ResponseGenerator extends AbstractXmlGenerator
         if ($from) {
             $qb->andWhere($qb->expr()->orX(
                 $qb->expr()->andX(
-                    $qb->expr()->isNotNull('omeka_root.modified'),
-                    $qb->expr()->gte('omeka_root.modified', ':from_1')
+                    $qb->expr()->isNotNull($alias . '.modified'),
+                    $qb->expr()->gte($alias . '.modified', ':from_1')
                 ),
                 $qb->expr()->andX(
-                    $qb->expr()->isNull('omeka_root.modified'),
-                    $qb->expr()->gte('omeka_root.created', ':from_2')
+                    $qb->expr()->isNull($alias . '.modified'),
+                    $qb->expr()->gte($alias . '.created', ':from_2')
                 )
             ));
             $qb->setParameter('from_1', $from);
@@ -681,19 +688,19 @@ class ResponseGenerator extends AbstractXmlGenerator
         if ($until) {
             $qb->andWhere($qb->expr()->orX(
                 $qb->expr()->andX(
-                    $qb->expr()->isNotNull('omeka_root.modified'),
-                    $qb->expr()->lte('omeka_root.modified', ':until_1')
+                    $qb->expr()->isNotNull($alias . '.modified'),
+                    $qb->expr()->lte($alias . '.modified', ':until_1')
                 ),
                 $qb->expr()->andX(
-                    $qb->expr()->isNull('omeka_root.modified'),
-                    $qb->expr()->lte('omeka_root.created', ':until_2')
+                    $qb->expr()->isNull($alias . '.modified'),
+                    $qb->expr()->lte($alias . '.created', ':until_2')
                 )
             ));
             $qb->setParameter('until_1', $until);
             $qb->setParameter('until_2', $until);
         }
 
-        $qb->groupBy('omeka_root.id');
+        $qb->groupBy($alias . '.id');
 
         // This limit call will form the basis of the flow control
         $qb->setMaxResults($this->_listLimit);