diff --git a/inc/vmapi/hf/ffa.h b/inc/vmapi/hf/ffa.h
index bd93f0c..a955ca8 100644
--- a/inc/vmapi/hf/ffa.h
+++ b/inc/vmapi/hf/ffa.h
@@ -246,9 +246,21 @@
 	return args.arg4;
 }
 
+static inline ffa_memory_handle_t ffa_assemble_handle(uint32_t a1, uint32_t a2)
+{
+	return (uint64_t)a1 | (uint64_t)a2 << 32;
+}
+
 static inline ffa_memory_handle_t ffa_mem_success_handle(struct ffa_value args)
 {
-	return args.arg2;
+	return ffa_assemble_handle(args.arg2, args.arg3);
+}
+
+static inline struct ffa_value ffa_mem_success(ffa_memory_handle_t handle)
+{
+	return (struct ffa_value){.func = FFA_SUCCESS_32,
+				  .arg2 = (uint32_t)handle,
+				  .arg3 = (uint32_t)(handle >> 32)};
 }
 
 static inline ffa_vm_id_t ffa_vm_id(struct ffa_value args)
diff --git a/prebuilts b/prebuilts
index ce0ff4e..2498939 160000
--- a/prebuilts
+++ b/prebuilts
@@ -1 +1 @@
-Subproject commit ce0ff4e3bb78d04d52f4717233706431055d0710
+Subproject commit 24989398059599c1d8e0c387779e910394c16637
diff --git a/src/arch/aarch64/hypervisor/handler.c b/src/arch/aarch64/hypervisor/handler.c
index 6ad8616..8eb580c 100644
--- a/src/arch/aarch64/hypervisor/handler.c
+++ b/src/arch/aarch64/hypervisor/handler.c
@@ -379,8 +379,8 @@
 		return true;
 	case FFA_MEM_RECLAIM_32:
 		*args = api_ffa_mem_reclaim(
-			(args->arg1 & 0xffffffff) | args->arg2 << 32,
-			args->arg3, current());
+			ffa_assemble_handle(args->arg1, args->arg2), args->arg3,
+			current());
 		return true;
 	}
 
diff --git a/src/ffa_memory.c b/src/ffa_memory.c
index 8def572..d31750d 100644
--- a/src/ffa_memory.c
+++ b/src/ffa_memory.c
@@ -1319,7 +1319,7 @@
 		return (struct ffa_value){.func = FFA_SUCCESS_32};
 	}
 
-	return (struct ffa_value){.func = FFA_SUCCESS_32, .arg2 = handle};
+	return ffa_mem_success(handle);
 }
 
 struct ffa_value ffa_memory_retrieve(struct vm_locked to_locked,
diff --git a/test/vmapi/common/ffa.c b/test/vmapi/common/ffa.c
index a7048b1..a313267 100644
--- a/test/vmapi/common/ffa.c
+++ b/test/vmapi/common/ffa.c
@@ -83,6 +83,8 @@
 	}
 	EXPECT_EQ(ret.func, FFA_SUCCESS_32);
 	handle = ffa_mem_success_handle(ret);
+	EXPECT_EQ(handle & FFA_MEMORY_HANDLE_ALLOCATOR_MASK,
+		  FFA_MEMORY_HANDLE_ALLOCATOR_HYPERVISOR);
 
 	/*
 	 * Send the appropriate retrieve request to the VM so that it can use it
