diff --git a/hive/server/bridge_api/methods.py b/hive/server/bridge_api/methods.py
index 9ec7a72057b95493d71b8b04a7ff7e15c81d7257..23d4ff0d820073f281a1059a7a96fc97cdde854f 100644
--- a/hive/server/bridge_api/methods.py
+++ b/hive/server/bridge_api/methods.py
@@ -21,20 +21,20 @@ SQL_TEMPLATE = """
             community_id, 
             ha_a.name as author,
             hpd_p.permlink as permlink,
-            hpd.title as title, 
-            hpd.body as body, 
-            hcd.category as category, 
+            (SELECT title FROM hive_post_data WHERE hive_post_data.id = hp.id) as title, 
+            (SELECT body FROM hive_post_data WHERE hive_post_data.id = hp.id) as body, 
+            (SELECT category FROM hive_category_data WHERE hive_category_data.id = hp.category_id) as category,
             depth,
             promoted, 
             payout, 
             payout_at, 
             is_paidout, 
             children, 
-            hpd.votes as votes,
+            (SELECT votes FROM hive_post_data WHERE hive_post_data.id = hp.id) as votes,
             hp.created_at, 
             updated_at, 
             rshares, 
-            hpd.json as json,
+            (SELECT json FROM hive_post_data WHERE hive_post_data.id = hp.id) as json,
             is_hidden, 
             is_grayed, 
             total_votes, 
@@ -48,8 +48,6 @@ SQL_TEMPLATE = """
         FROM hive_posts hp
         LEFT JOIN hive_accounts ha_a ON ha_a.id = hp.author_id
         LEFT JOIN hive_permlink_data hpd_p ON hpd_p.id = hp.permlink_id
-        LEFT JOIN hive_post_data hpd ON hpd.id = hp.id
-        LEFT JOIN hive_category_data hcd ON hcd.id = hp.category_id
         LEFT OUTER JOIN hive_communities ON (hp.community_id = hive_communities.id)
         LEFT OUTER JOIN hive_roles ON (ha_a.id = hive_roles.account_id AND hp.community_id = hive_roles.community_id)
     """
diff --git a/hive/server/bridge_api/objects.py b/hive/server/bridge_api/objects.py
index f4d7404f5811f6fb5b357cbe8f265b51d1ae859f..00d245de70c97ffcfbcd12e1ea91e694f695ef8a 100644
--- a/hive/server/bridge_api/objects.py
+++ b/hive/server/bridge_api/objects.py
@@ -255,7 +255,10 @@ def _condenser_post_object(row, truncate_body=0):
     post['promoted'] = _amount(row['promoted'])
 
     post['replies'] = []
-    post['active_votes'] = json.loads(row['votes'])
+    try:
+        post['active_votes'] = json.loads(row['votes'])
+    except Exception:
+        post['active_votes'] = _hydrate_active_votes(row['votes'])
     post['author_reputation'] = row['author_rep']
 
     post['stats'] = {
diff --git a/hive/server/common/objects.py b/hive/server/common/objects.py
index 37f81b5e5971bc78e12561113dd197c6c400fdd7..54ba3e2cb9a416bb42cb83d0bf540081967800fe 100644
--- a/hive/server/common/objects.py
+++ b/hive/server/common/objects.py
@@ -60,7 +60,10 @@ def condenser_post_object(row, truncate_body=0):
 
     post['replies'] = []
     post['body_length'] = len(row['body'])
-    post['active_votes'] = json.loads(row['votes'])
+    try:
+        post['active_votes'] = json.loads(row['votes'])
+    except Exception:
+        post['active_votes'] = _hydrate_active_votes(row['votes'])
     #post['author_reputation'] = rep_to_raw(row['author_rep'])
 
     post['root_author'] = row['root_author']
diff --git a/hive/server/condenser_api/methods.py b/hive/server/condenser_api/methods.py
index ea44ad5d6b87b49e045bb1e72f04ed57b4991975..d060e52c57cf6c0feb81333dffb54bf89d1fc977 100644
--- a/hive/server/condenser_api/methods.py
+++ b/hive/server/condenser_api/methods.py
@@ -23,20 +23,20 @@ SQL_TEMPLATE = """
         community_id, 
         ha_a.name as author,
         hpd_p.permlink as permlink,
-        hpd.title as title, 
-        hpd.body as body, 
-        hcd.category as category, 
+        (SELECT title FROM hive_post_data WHERE hive_post_data.id = hp.id) as title, 
+        (SELECT body FROM hive_post_data WHERE hive_post_data.id = hp.id) as body, 
+        (SELECT category FROM hive_category_data WHERE hive_category_data.id = hp.category_id) as category,
         depth,
         promoted, 
         payout, 
         payout_at, 
         is_paidout, 
         children, 
-        hpd.votes as votes,
+        (SELECT votes FROM hive_post_data WHERE hive_post_data.id = hp.id) as votes,
         hp.created_at, 
         updated_at, 
         rshares, 
-        hpd.json as json,
+        (SELECT json FROM hive_post_data WHERE hive_post_data.id = hp.id) as json,
         is_hidden, 
         is_grayed, 
         total_votes, 
@@ -58,12 +58,11 @@ SQL_TEMPLATE = """
     FROM hive_posts hp
     LEFT JOIN hive_accounts ha_a ON ha_a.id = hp.author_id
     LEFT JOIN hive_permlink_data hpd_p ON hpd_p.id = hp.permlink_id
-    LEFT JOIN hive_post_data hpd ON hpd.id = hp.id
-    LEFT JOIN hive_category_data hcd ON hcd.id = hp.category_id
     LEFT JOIN hive_accounts ha_pa ON ha_pa.id = hp.parent_author_id
     LEFT JOIN hive_permlink_data hpd_pp ON hpd_pp.id = hp.parent_permlink_id
     LEFT JOIN hive_accounts ha_ra ON ha_ra.id = hp.root_author_id
     LEFT JOIN hive_permlink_data hpd_rp ON hpd_rp.id = hp.root_permlink_id
+    WHERE
 """
 
 @return_error_info
diff --git a/hive/server/condenser_api/objects.py b/hive/server/condenser_api/objects.py
index 68ba8ceb705fa7e39841de8d4a5dd9c54ae50ece..eb1bf8feebfb85230c16d45ae99213d64e706574 100644
--- a/hive/server/condenser_api/objects.py
+++ b/hive/server/condenser_api/objects.py
@@ -210,7 +210,10 @@ def _condenser_post_object(row, truncate_body=0):
 
     post['replies'] = []
     post['body_length'] = len(row['body'])
-    post['active_votes'] = json.loads(row['votes'])
+    try:
+        post['active_votes'] = json.loads(row['votes'])
+    except Exception:
+        post['active_votes'] = _hydrate_active_votes(row['votes'])
     post['author_reputation'] = rep_to_raw(row['author_rep'])
 
     post['root_author'] = row['root_author']
diff --git a/hive/server/database_api/methods.py b/hive/server/database_api/methods.py
index afffc8c3f2a77245f33fe26de1851ebc3c4a4a3f..c9e8a65252211be30584df6ac3cdd4f9c69033dc 100644
--- a/hive/server/database_api/methods.py
+++ b/hive/server/database_api/methods.py
@@ -7,20 +7,20 @@ SQL_TEMPLATE = """
         community_id, 
         ha_a.name as author,
         hpd_p.permlink as permlink,
-        hpd.title as title, 
-        hpd.body as body, 
-        hcd.category as category, 
+        (SELECT title FROM hive_post_data WHERE hive_post_data.id = hp.id) as title, 
+        (SELECT body FROM hive_post_data WHERE hive_post_data.id = hp.id) as body, 
+        (SELECT category FROM hive_category_data WHERE hive_category_data.id = hp.category_id) as category,
         depth,
         promoted, 
         payout, 
         payout_at, 
         is_paidout, 
         children, 
-        hpd.votes as votes,
+        (SELECT votes FROM hive_post_data WHERE hive_post_data.id = hp.id) as votes,
         hp.created_at, 
         updated_at, 
         rshares, 
-        hpd.json as json,
+        (SELECT json FROM hive_post_data WHERE hive_post_data.id = hp.id) as json,
         is_hidden, 
         is_grayed, 
         total_votes, 
@@ -41,8 +41,6 @@ SQL_TEMPLATE = """
     FROM hive_posts hp
     LEFT JOIN hive_accounts ha_a ON ha_a.id = hp.author_id
     LEFT JOIN hive_permlink_data hpd_p ON hpd_p.id = hp.permlink_id
-    LEFT JOIN hive_post_data hpd ON hpd.id = hp.id
-    LEFT JOIN hive_category_data hcd ON hcd.id = hp.category_id
     LEFT JOIN hive_accounts ha_pa ON ha_pa.id = hp.parent_author_id
     LEFT JOIN hive_permlink_data hpd_pp ON hpd_pp.id = hp.parent_permlink_id
     LEFT JOIN hive_accounts ha_ra ON ha_ra.id = hp.root_author_id
@@ -94,7 +92,8 @@ async def list_comments(context, start: list, limit: int, order: str):
         assert len(start) == 2, "Expecting two arguments"
 
         sql = str(SQL_TEMPLATE)
-        sql += 'ha_a.name >= :author COLLATE "C" AND hpd_p.permlink >= :permlink COLLATE "C" ORDER BY ha_a.name COLLATE "C" ASC LIMIT :limit'
+        sql += """ hp.id IN (SELECT hp1.id FROM hive_posts_a_p hp1 WHERE hp1.author >= :author COLLATE "C" 
+          AND hp1.permlink >= :permlink COLLATE "C" ORDER BY hp1.author COLLATE "C" ASC LIMIT :limit)"""
 
         result = await db.query_all(sql, author=start[0], permlink=start[1], limit=limit)
         for row in result: