diff --git a/ChangeLog.d/support-ecdh-kdf-with-ecdh-key.txt b/ChangeLog.d/support-ecdh-kdf-with-ecdh-key.txt
index 842d5ff..6660dc3 100644
--- a/ChangeLog.d/support-ecdh-kdf-with-ecdh-key.txt
+++ b/ChangeLog.d/support-ecdh-kdf-with-ecdh-key.txt
@@ -2,3 +2,5 @@
    * In PSA, allow using a key declared with a base key agreement algorithm
      in combined key agreement and derivation operations, as long as the key
      agreement algorithm in use matches the algorithm the key was declared with.
+     This is currently non-standard behaviour, but expected to make it into a
+     future revision of the PSA Crypto standard.
diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 69852fa..ad6f052 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -1085,7 +1085,8 @@
                 ( requested_alg & ~PSA_ALG_HASH_MASK ) );
     }
     /* If policy_alg is a generic key agreement operation, then using it for
-     * a key derivation with that key agreement is also compliant. */
+     * a key derivation with that key agreement should also be allowed. This
+     * behaviour is expected to be defined in a future specification version. */
     if( PSA_ALG_IS_RAW_KEY_AGREEMENT( policy_alg ) &&
         PSA_ALG_IS_KEY_AGREEMENT( requested_alg ) )
     {
@@ -5876,12 +5877,6 @@
                                                 PSA_KEY_TYPE_DERIVE,
                                                 shared_secret,
                                                 shared_secret_length );
-
-    /* If a private key has been added as SECRET, we allow the derived
-     * key material to be used as a key in PSA Crypto. */
-    if( step == PSA_KEY_DERIVATION_INPUT_SECRET )
-        operation->can_output_key = 1;
-
 exit:
     mbedtls_platform_zeroize( shared_secret, shared_secret_length );
     return( status );
@@ -5906,6 +5901,13 @@
                                          peer_key, peer_key_length );
     if( status != PSA_SUCCESS )
         psa_key_derivation_abort( operation );
+    else
+    {
+        /* If a private key has been added as SECRET, we allow the derived
+         * key material to be used as a key in PSA Crypto. */
+        if( step == PSA_KEY_DERIVATION_INPUT_SECRET )
+            operation->can_output_key = 1;
+    }
     return( status );
 }
 
diff --git a/tests/suites/test_suite_psa_crypto.function b/tests/suites/test_suite_psa_crypto.function
index 328508d..fc563cb 100644
--- a/tests/suites/test_suite_psa_crypto.function
+++ b/tests/suites/test_suite_psa_crypto.function
@@ -5233,7 +5233,7 @@
 {
     psa_key_handle_t our_key = 0;
     psa_algorithm_t alg = alg_arg;
-    psa_algorithm_t key_alg = our_key_alg_arg;
+    psa_algorithm_t our_key_alg = our_key_alg_arg;
     psa_key_type_t our_key_type = our_key_type_arg;
     psa_key_derivation_operation_t operation = PSA_KEY_DERIVATION_OPERATION_INIT;
     psa_key_attributes_t attributes = PSA_KEY_ATTRIBUTES_INIT;
@@ -5243,7 +5243,7 @@
     PSA_ASSERT( psa_crypto_init( ) );
 
     psa_set_key_usage_flags( &attributes, PSA_KEY_USAGE_DERIVE );
-    psa_set_key_algorithm( &attributes, key_alg );
+    psa_set_key_algorithm( &attributes, our_key_alg );
     psa_set_key_type( &attributes, our_key_type );
     PSA_ASSERT( psa_import_key( &attributes,
                                 our_key_data->x, our_key_data->len,
