diff --git a/pycoin/tx/dump.py b/pycoin/tx/dump.py
index <HASH>..<HASH> 100644
--- a/pycoin/tx/dump.py
+++ b/pycoin/tx/dump.py
@@ -83,13 +83,7 @@ def dump_disassembly(tx, tx_in_idx, disassembler):
 
 def dump_signatures(tx, tx_in, tx_out, idx, network, traceback_f, disassembly_level):
     sc = tx.SolutionChecker(tx)
-    signatures = []
-    for opcode in BitcoinScriptTools.opcode_list(tx_in.script):
-        if not opcode.startswith("OP_"):
-            try:
-                signatures.append(parse_signature_blob(h2b(opcode[1:-1])))
-            except UnexpectedDER:
-                pass
+    signatures = [parse_signature_blob(blob) for blob, sig_hash in network.extras.extract_signatures(tx, idx)]
     if signatures:
         sig_types_identical = (
             tuple(zip(*signatures))[1].count(signatures[0][1]) == len(signatures))
Use extract_signatures in disassembly.