diff --git a/library/psa_crypto.c b/library/psa_crypto.c
index 4c3966c..9362ef0 100644
--- a/library/psa_crypto.c
+++ b/library/psa_crypto.c
@@ -2518,6 +2518,9 @@
             case PSA_ALG_OFB:
                 mode = MBEDTLS_MODE_OFB;
                 break;
+            case PSA_ALG_ECB_NO_PADDING:
+                mode = MBEDTLS_MODE_ECB;
+                break;
             case PSA_ALG_CBC_NO_PADDING:
                 mode = MBEDTLS_MODE_CBC;
                 break;
@@ -3746,7 +3749,11 @@
     operation->alg = alg;
     operation->key_set = 0;
     operation->iv_set = 0;
-    operation->iv_required = 1;
+    if( alg == PSA_ALG_ECB_NO_PADDING ) {
+        operation->iv_required = 0;
+    } else {
+        operation->iv_required = 1;
+    }
     operation->iv_size = 0;
     operation->block_size = 0;
     mbedtls_cipher_init( &operation->ctx.cipher );
@@ -3837,7 +3844,7 @@
     operation->key_set = 1;
     operation->block_size = ( PSA_ALG_IS_STREAM_CIPHER( alg ) ? 1 :
                               PSA_BLOCK_CIPHER_BLOCK_SIZE( slot->attr.type ) );
-    if( alg & PSA_ALG_CIPHER_FROM_BLOCK_FLAG )
+    if( alg & PSA_ALG_CIPHER_FROM_BLOCK_FLAG && alg != PSA_ALG_ECB_NO_PADDING )
     {
         operation->iv_size = PSA_BLOCK_CIPHER_BLOCK_SIZE( slot->attr.type );
     }
@@ -3991,12 +3998,14 @@
         return( PSA_ERROR_BAD_STATE );
     }
 
-    if( operation->ctx.cipher.operation == MBEDTLS_ENCRYPT &&
-        operation->alg == PSA_ALG_CBC_NO_PADDING &&
-        operation->ctx.cipher.unprocessed_len != 0 )
+    if( operation->ctx.cipher.unprocessed_len != 0 )
     {
+        if( operation->alg == PSA_ALG_ECB_NO_PADDING ||
+            ( operation->alg == PSA_ALG_CBC_NO_PADDING &&
+              operation->ctx.cipher.operation == MBEDTLS_ENCRYPT ) ) {
             status = PSA_ERROR_INVALID_ARGUMENT;
             goto error;
+        }
     }
 
     cipher_ret = mbedtls_cipher_finish( &operation->ctx.cipher,
