diff --git a/services/identity/src/client_service.rs b/services/identity/src/client_service.rs
--- a/services/identity/src/client_service.rs
+++ b/services/identity/src/client_service.rs
@@ -100,6 +100,8 @@
   pub notif_prekey_signature: String,
   pub notif_one_time_keys: Vec<String>,
   pub device_type: DeviceType,
+  /// not stored directly, used only for prekey verification
+  pub notif_signing_public_key: String,
 }
 
 #[derive(derive_more::Constructor)]
@@ -1480,6 +1482,9 @@
     notif_prekey_signature: message.notif_prekey_signature()?,
     notif_one_time_keys: message.one_time_notif_prekeys()?,
     device_type: DeviceType::try_from(DBDeviceTypeInt(message.device_type()?))?,
+    notif_signing_public_key: key_info
+      .notification_identity_public_keys
+      .ed25519,
   };
 
   Ok(flattened_device_key_upload)
diff --git a/services/identity/src/database/device_list.rs b/services/identity/src/database/device_list.rs
--- a/services/identity/src/database/device_list.rs
+++ b/services/identity/src/database/device_list.rs
@@ -202,7 +202,7 @@
         "Content prekey verification failed: {err}"
       );
     }
-    if let Err(err) = notif_prekey.verify(&upload.device_id_key) {
+    if let Err(err) = notif_prekey.verify(&upload.notif_signing_public_key) {
       error!(
         errorType = error_types::GENERIC_DB_LOG,
         "Notif prekey verification failed: {err}"