diff --git a/spm/cactus/cactus_main.c b/spm/cactus/cactus_main.c
index cb83d87..9388ec5 100644
--- a/spm/cactus/cactus_main.c
+++ b/spm/cactus/cactus_main.c
@@ -97,7 +97,7 @@
 			 * If execution gets to this point means all operations
 			 * with memory retrieval went well, as such replying
 			 */
-			ffa_ret = cactus_success_resp(vm_id, source);
+			ffa_ret = cactus_success_resp(vm_id, source, 0);
 			break;
 		case CACTUS_REQ_MEM_SEND_CMD:
 		{
@@ -137,14 +137,14 @@
 			if (!is_ffa_direct_response(ffa_ret)) {
 				ERROR("Failed to send message. error: %x\n",
 					ffa_error_code(ffa_ret));
-				ffa_ret = cactus_error_resp(vm_id, source);
+				ffa_ret = cactus_error_resp(vm_id, source, 0);
 				break;
 			}
 
 			/* If anything went bad on the receiver's end. */
 			if (cactus_get_response(ffa_ret) == CACTUS_ERROR) {
 				ERROR("Received error from receiver!\n");
-				ffa_ret = cactus_error_resp(vm_id, source);
+				ffa_ret = cactus_error_resp(vm_id, source, 0);
 				break;
 			}
 
@@ -159,7 +159,7 @@
 							.ret0 == FFA_ERROR) {
 					ERROR("Failed to reclaim memory!\n");
 					ffa_ret = cactus_error_resp(vm_id,
-								    source);
+								    source, 0);
 					break;
 				}
 
@@ -181,7 +181,7 @@
 				#endif
 			}
 
-			ffa_ret = cactus_success_resp(vm_id, source);
+			ffa_ret = cactus_success_resp(vm_id, source, 0);
 			break;
 		}
 		case CACTUS_ECHO_CMD:
@@ -217,8 +217,9 @@
 				success = false;
 			}
 
-			ffa_ret = success ? cactus_success_resp(vm_id, source) :
-					    cactus_error_resp(vm_id, source);
+			ffa_ret = success ?
+				  cactus_success_resp(vm_id, source, 0) :
+				  cactus_error_resp(vm_id, source, 0);
 			break;
 		}
 		case CACTUS_DEADLOCK_CMD:
@@ -273,18 +274,18 @@
 				 * created the deadlock. As such, reply back
 				 * to the partitions.
 				 */
-				ffa_ret = cactus_success_resp(vm_id, source);
+				ffa_ret = cactus_success_resp(vm_id, source, 0);
 				break;
 			}
 
 			/* Shouldn't get to this point */
 			ERROR("Deadlock test went wrong!\n");
-			ffa_ret = cactus_error_resp(vm_id, source);
+			ffa_ret = cactus_error_resp(vm_id, source, 0);
 			break;
 		}
 		case CACTUS_REQ_SIMD_FILL_CMD:
 			fill_simd_vectors();
-			ffa_ret = cactus_success_resp(vm_id, source);
+			ffa_ret = cactus_success_resp(vm_id, source, 0);
 			break;
 		default:
 			/*
