Minor
diff --git a/Lib/fontTools/ttLib/tables/otBase.py b/Lib/fontTools/ttLib/tables/otBase.py
index 0e1e1f7..2b405f0 100644
--- a/Lib/fontTools/ttLib/tables/otBase.py
+++ b/Lib/fontTools/ttLib/tables/otBase.py
@@ -31,12 +31,12 @@
 	
 	def decompile(self, data, font):
 		import otTables
-		cachingStats = None
+		cachingStats = None if True else {}
 		reader = OTTableReader(data, self.tableTag, cachingStats=cachingStats)
 		tableClass = getattr(otTables, self.tableTag)
 		self.table = tableClass()
 		self.table.decompile(reader, font)
-		if 0:
+		if cachingStats:
 			stats = [(v, k) for k, v in cachingStats.items()]
 			stats.sort()
 			stats.reverse()
diff --git a/Lib/fontTools/ttLib/tables/otConverters.py b/Lib/fontTools/ttLib/tables/otConverters.py
index 544a7ee..edf2999 100644
--- a/Lib/fontTools/ttLib/tables/otConverters.py
+++ b/Lib/fontTools/ttLib/tables/otConverters.py
@@ -173,7 +173,6 @@
 		subReader = reader.getSubReader(offset, persistent=lazy)
 		table = self.tableClass()
 		if lazy:
-			# Lazy decompile
 			table.reader = subReader
 			table.font = font
 			table.compileStatus = 1
@@ -207,17 +206,20 @@
 		tableClass = lookupTypes[lookupType]
 		return ExtSubTable(self.name, self.repeat, self.repeatOffset, tableClass)
 	
-	def read(self, reader, font, tableStack):
+	def read(self, reader, font, tableStack, lazy=True):
 		offset = reader.readULong()
 		if offset == 0:
 			return None
 		subReader = reader.getSubReader(offset)
 		table = self.tableClass()
-		table.reader = subReader
-		table.font = font
-		table.compileStatus = 1
-		table.tableStack = TableStack(tableStack)
-		table.start = table.reader.offset
+		table.start = subReader.offset
+		if lazy:
+			table.reader = subReader
+			table.font = font
+			table.compileStatus = 1
+			table.tableStack = TableStack(tableStack)
+		else:
+			table.decompile(subReader, font, tableStack)
 		return table
 	
 	def write(self, writer, font, tableStack, value, repeatIndex=None):