diff --git a/beem/block.py b/beem/block.py
index 0cdedc61de57169b03e6e25458c614518a372d25..a17bc9f3dc21c0f5d129370974ebe6ca16688e17 100644
--- a/beem/block.py
+++ b/beem/block.py
@@ -157,7 +157,12 @@ class Block(BlockchainObject):
     @property
     def block_num(self):
         """Returns the block number"""
-        return int(self['block_id'][:8], base=16)
+        if "block_id" in self:
+            return int(self['block_id'][:8], base=16)
+        elif "id" in self:
+            return self['id']
+        else:
+            return self.identifier
 
     def time(self):
         """Return a datatime instance for the timestamp of this block"""
diff --git a/beem/blockchain.py b/beem/blockchain.py
index cdb8925042ab7312bfa15d3da27f389bad6a4561..3955893009ec5b25862b06bdecc1696305c58376 100644
--- a/beem/blockchain.py
+++ b/beem/blockchain.py
@@ -689,6 +689,8 @@ class Blockchain(object):
             _id = ""
             timestamp = ""
             for trx_nr in range(len(trx)):
+                if "operations" not in trx[trx_nr]:
+                    continue
                 for event in trx[trx_nr]["operations"]:
                     if isinstance(event, list):
                         op_type, op = event