diff --git a/hive/indexer/blocks.py b/hive/indexer/blocks.py
index d4ba4ef9dab4c87450f0e13f364afae5b7d5b55c..db1b49424a4961f702e4d65c778014e34d0f7f6f 100644
--- a/hive/indexer/blocks.py
+++ b/hive/indexer/blocks.py
@@ -101,9 +101,10 @@ class Blocks:
         return cls.ops_stats
 
     @staticmethod
-    def prepare_vops( comment_payout_ops, vopsList, date):
+    def prepare_vops(vopsList, date):
         vote_ops = {}
 
+        comment_payout_ops = {}
         ops_stats = { 'author_reward_operation' : 0, 'comment_reward_operation' : 0, 'effective_comment_vote_operation' : 0, 'comment_payout_update_operation' : 0 }
 
         for vop in vopsList:
@@ -151,7 +152,7 @@ class Blocks:
 
                 comment_payout_ops[key][op_type] = op_value
 
-        return (vote_ops, ops_stats)
+        return (vote_ops, comment_payout_ops, ops_stats)
 
 
     @classmethod
@@ -235,21 +236,26 @@ class Blocks:
             cls.ops_stats = Blocks.merge_ops_stats(cls.ops_stats, custom_ops_stats)
 
         # virtual ops
-        comment_payout_stats = {}
+        comment_payout_ops = {}
         vote_ops = {}
+        comment_payout_stats = {}
 
-        empty_vops = (vote_ops, comment_payout_stats)
+        empty_vops = (vote_ops, comment_payout_ops, comment_payout_stats)
 
         if is_initial_sync:
-            (vote_ops, comment_payout_stats) = virtual_operations[num] if num in virtual_operations else empty_vops
+            (vote_ops, comment_payout_ops, comment_payout_stats) = virtual_operations[num] if num in virtual_operations else empty_vops
         else:
             vops = hived.get_virtual_operations(num)
-            (vote_ops, comment_payout_stats) = Blocks.prepare_vops(Posts.comment_payout_ops, vops, cls._head_block_date)
-            cls.ops_stats = Blocks.merge_ops_stats(cls.ops_stats, comment_payout_stats)
+            (vote_ops, comment_payout_ops, comment_payout_stats) = Blocks.prepare_vops(vops, cls._head_block_date)
+
+        cls.comment_payout_ops = {**Posts.comment_payout_ops, **comment_payout_ops}
 
         for k, v in vote_ops.items():
             Votes.effective_comment_vote_op(v, cls._head_block_date)
 
+        if comment_payout_ops:
+            cls.ops_stats = Blocks.merge_ops_stats(cls.ops_stats, comment_payout_stats)
+
         cls._head_block_date = block_date
 
         return num
diff --git a/hive/indexer/sync.py b/hive/indexer/sync.py
index 878aea039ded566c265d91c1c7bb14495385ebe0..806f71844592aab7f55497cd0978e34431610776 100644
--- a/hive/indexer/sync.py
+++ b/hive/indexer/sync.py
@@ -19,7 +19,6 @@ from hive.db.db_state import DbState
 from hive.utils.timer import Timer
 from hive.steem.block.stream import MicroForkException
 
-from hive.indexer.posts import Posts
 from hive.indexer.blocks import Blocks
 from hive.indexer.accounts import Accounts
 from hive.indexer.feed_cache import FeedCache
@@ -46,7 +45,7 @@ def prepare_vops(vops_by_block):
     for blockNum, blockDict in vops_by_block.items():
         vopsList = blockDict['ops']
         date = blockDict['timestamp']
-        preparedVops[blockNum] = Blocks.prepare_vops(Posts.comment_payout_ops, vopsList, date)
+        preparedVops[blockNum] = Blocks.prepare_vops(vopsList, date)
   
     return preparedVops