Difficulties trying to redeem a OP_CHECKTIMELOCKVERIFY P2SH script

I have created the following script which should always be spendable by Alice providing a signature under pk_a and pk_x or after a certain time_lock by Bob providing a signature under pk_b.

OP_IF
<lock_time>
OP_CHECKTIMELOCKVERIFY
OP_DROP
<pk_b>
OP_CHECKSIGVERIFY
OP_ELSE
2
<pk_a>
<pk_x>
2
OP_CHECKMULTISIGVERIFY
OP_ENDIF

Naturally, this script is wrapped in a P2SH. I have sent some funds to this pubScript on the testnet and am now trying to spend it (via the Alice case) Here is the transaction:

0100000001928b2cfd5f9c153714ee7968f5f7e252d5361723939ecdf44b729e059f86f70300000000fd0b014c940048304502210097eac0c34d505409ad65759651d7785540e612e865549f620258369b54adb182022063d0ce198eb50eddc86c6e00a0f14f5a998ddc485936b5fe4448dedbe2ae5e1b01483045022100d01a983e266c64fef31f1acaceeff64452a02b3d41d828118867fd67e6ac8276022057ef2a039e14b4a02c093528b4138050b352e71db704927f9e11ad047b4e791601004c73630312181db17521031d73e6f2e1022bfa98d2c8ba5ce9b100f27202bd4f49c6208316b1b488c16601ad6752210258843c644fc10bedc8640a12baf78106b62f01d8bd45294842fb20451377fc6b2102b56faea8db4cc9332d9d80204b81ea2d23a713dc307e350152c1eb4189d156d252af68ffffffff01b8820100000000001976a914773033d94eeaf80f3fd02f177be5b760c488aeab88ac00000000

and the scriptSig

4c940048304502210097eac0c34d505409ad65759651d7785540e612e865549f620258369b54adb182022063d0ce198eb50eddc86c6e00a0f14f5a998ddc485936b5fe4448dedbe2ae5e1b01483045022100d01a983e266c64fef31f1acaceeff64452a02b3d41d828118867fd67e6ac8276022057ef2a039e14b4a02c093528b4138050b352e71db704927f9e11ad047b4e791601004c73630312181db17521031d73e6f2e1022bfa98d2c8ba5ce9b100f27202bd4f49c6208316b1b488c16601ad6752210258843c644fc10bedc8640a12baf78106b62f01d8bd45294842fb20451377fc6b2102b56faea8db4cc9332d9d80204b81ea2d23a713dc307e350152c1eb4189d156d252af68

Here I have decoded the scriptSig

4c94 LENGTH
00 ZERO_BYTES (Because of the OP_CHECKMULTISIGVERIFY, I read this is recommended)
48 LENGTH
304502210097eac0c34d505409ad65759651d7785540e612e865549f620258369b54adb182022063d0ce198eb50eddc86c6e00a0f14f5a998ddc485936b5fe4448dedbe2ae5e1b01 SIG_A
48 LENGTH
3045022100d01a983e266c64fef31f1acaceeff64452a02b3d41d828118867fd67e6ac8276022057ef2a039e14b4a02c093528b4138050b352e71db704927f9e11ad047b4e791601 SIG_X
00 ZERO_BYTES (To make the OP_IF evaluate to false)
4c73 LENGTH
63 OP_IF
0312181d LOCK_TIME
b1 OP_CHECKTIMELOCKVERIFY
75 OP_DROP
21031d73e6f2e1022bfa98d2c8ba5ce9b100f27202bd4f49c6208316b1b488c16601 PK_B
ad OP_CHECKSIGVERIFY
67 OP_ELSE
52 2
210258843c644fc10bedc8640a12baf78106b62f01d8bd45294842fb20451377fc6b PK_A
2102b56faea8db4cc9332d9d80204b81ea2d23a713dc307e350152c1eb4189d156d2 PK_X
52 2
af OP_CHECKMULTISIGVERIFY
68 OP_ENDIF

Now when I try to send this transaction to the testnet it fails with mandatory-script-verify-flag-failed (Locktime requirement not satisfied) which confuses me, because after it hashed and compared the script I would assume that there is the 0x00 on the stack and therefore the OP_IF should be false and we go into the OP_ELSE case. However, this seems not to be the case. Could it be that the 0x00 is not at the right place?

Thanks in advance for any help!