diff --git a/vendor/magento/module-reward/Model/ResourceModel/Reward/History.php b/vendor/magento/module-reward/Model/ResourceModel/Reward/History.php
index 12e818b..60ea12e 100644
--- a/vendor/magento/module-reward/Model/ResourceModel/Reward/History.php
+++ b/vendor/magento/module-reward/Model/ResourceModel/Reward/History.php
@@ -5,6 +5,7 @@
  */
 namespace Magento\Reward\Model\ResourceModel\Reward;
 
+use Magento\Framework\Exception\LocalizedException;
 use Magento\Reward\Model\Reward\History as ModelRewardHistory;
 
 /**
@@ -213,6 +214,7 @@ class History extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
      * @param string $expiryType Expiry calculation (static or dynamic)
      * @param int $limit Limitation for records expired selection
      * @return $this
+     * @throws LocalizedException|\Zend_Db_Statement_Exception
      */
     public function expirePoints($websiteId, $expiryType, $limit)
     {
@@ -222,8 +224,12 @@ class History extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
 
         $select = $connection->select()->from(
             $this->getMainTable()
+        )->joinInner(
+            ['reward' => $this->getTable('magento_reward')],
+            'reward.reward_id = ' . $this->getMainTable() . '.reward_id',
+            []
         )->where(
-            'website_id = :website_id'
+            $this->getMainTable() . '.website_id = :website_id'
         )->where(
             "{$field} < :time_now"
         )->where(
@@ -237,6 +243,10 @@ class History extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
         )->limit(
             (int)$limit
         );
+        $select->columns(
+            [$this->getMainTable() . '.*',
+            'current_balance' => 'reward.points_balance']
+        );
         $bind = [':website_id' => $websiteId, ':time_now' => $now];
         $duplicates = [];
         $expiredAmounts = [];
@@ -255,8 +265,10 @@ class History extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
             }
             $expiredAmount = $row['points_delta'] - $row['points_used'];
             $row['points_delta'] = -$expiredAmount;
+            $row['points_balance'] = $row['current_balance'] - abs($expiredAmount);
             $row['points_used'] = 0;
             $expiredAmounts[$row['reward_id']] += $expiredAmount;
+            unset($row['current_balance']);
             $duplicates[] = $row;
         }
 
@@ -268,8 +280,8 @@ class History extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb
                 }
                 $bind = [
                     'points_balance' => $connection->getCheckSql(
-                        "points_balance > {$expired}",
-                        "points_balance-{$expired}",
+                        "points_balance > " . abs($expired),
+                        "points_balance-" . abs($expired),
                         0
                     ),
                 ];
