diff --git a/src/transaction_builder.js b/src/transaction_builder.js
index e7bf3c3..45d8022 100644
--- a/src/transaction_builder.js
+++ b/src/transaction_builder.js
@@ -409,12 +409,15 @@ function buildInput (input, allowIncomplete) {
     if (P2SH.indexOf(input.redeemScriptType) === -1 && !allowIncomplete) {
       throw new Error('Impossible to sign this type')
     }
-    p2sh = true
+
     if (SIGNABLE.indexOf(input.redeemScriptType) !== -1) {
       sig = buildStack(input.redeemScriptType, input.signatures, input.pubKeys, allowIncomplete)
     }
     // If it wasn't SIGNABLE, it's witness, defer to that
-    scriptType = input.redeemScriptType
+    if (input.redeemScriptType) {
+      p2sh = true
+      scriptType = input.redeemScriptType
+    }
   }
 
   if (scriptType === bscript.types.P2WPKH) {