diff --git a/simuvex/vex/ccall.py b/simuvex/vex/ccall.py
index <HASH>..<HASH> 100644
--- a/simuvex/vex/ccall.py
+++ b/simuvex/vex/ccall.py
@@ -682,6 +682,19 @@ def pc_actions_SUB_CondNLE(state, cc_dep1, cc_dep2, cc_ndep):
 
     return 0
 
+def pc_actions_SUB_CondS(state, arg_l, arg_r, cc_ndep):
+    se = state.se
+
+    result = (arg_l - arg_r < 0)
+    if se.is_true(result):
+        r = se.BVV(1, 1)
+    elif se.is_false(result):
+        r = se.BVV(0, 1)
+    else:
+        r = state.se.If(result, se.BitVecVal(1, 1), se.BitVecVal(0, 1))
+
+    return r
+
 # LOGIC
 
 def pc_actions_LOGIC_CondZ(state, arg_l, arg_r, cc_ndep):
pc_actions_SUB_CondS