diff --git a/duniterpy/key/__init__.py b/duniterpy/key/__init__.py
index ff6eb1c38e9b90b6e13588919d9430c673f0691b..9a84db976e7779878b47a90d65adf48925034df7 100644
--- a/duniterpy/key/__init__.py
+++ b/duniterpy/key/__init__.py
@@ -15,5 +15,5 @@
 
 from .ascii_armor import AsciiArmor
 from .encryption_key import PublicKey, SecretKey
-from .signing_key import SigningKey
+from .signing_key import SigningKey, SigningKeyException
 from .verifying_key import VerifyingKey
diff --git a/duniterpy/key/signing_key.py b/duniterpy/key/signing_key.py
index 95f23ad21a863d5966e1819546c150fdc9d35f83..71a6dc5f5ec0373165eaa07cde678d9f3f378bc0 100644
--- a/duniterpy/key/signing_key.py
+++ b/duniterpy/key/signing_key.py
@@ -276,7 +276,9 @@ sec: {base58_signing_key}"
 
         if fi == b"\x01":
             result = SigningKey.from_wif_hex(wif_hex)
-        elif fi == b"\x02" and password is not None:
+        elif fi == b"\x02":
+            if password is None:
+                raise SigningKeyException("Error: no password provided with EWIF")
             result = SigningKey.from_ewif_hex(wif_hex, password)
         else:
             raise SigningKeyException("Error: Bad format: not WIF nor EWIF")
diff --git a/tests/key/test_signing_key.py b/tests/key/test_signing_key.py
index b2589b33498f8baa8a95782f2bb24b2b8454d5cf..e3326e2fca9cb0059b096c75568a51c335868a64 100644
--- a/tests/key/test_signing_key.py
+++ b/tests/key/test_signing_key.py
@@ -17,7 +17,9 @@ import base64
 import os
 import unittest
 
-from duniterpy.key import PublicKey, SigningKey, VerifyingKey
+import pytest
+
+from duniterpy.key import PublicKey, SigningKey, SigningKeyException, VerifyingKey
 from duniterpy.key.scrypt_params import ScryptParams
 
 TEST_FILE_PATH = "/tmp/test_file.txt"
@@ -101,6 +103,14 @@ class TestSigningKey(unittest.TestCase):
         sign_key_load = SigningKey.from_wif_or_ewif_file(TEST_FILE_PATH)
         self.assertEqual(sign_key_save.sk, sign_key_load.sk)
 
+    def test_load_ewif_file_without_password_raise_exception(self):
+        sign_key_save = SigningKey.from_credentials("alice", "password")
+        sign_key_save.save_ewif_file(TEST_FILE_PATH, "password")
+
+        error = "Error: no password provided with EWIF"
+        with pytest.raises(SigningKeyException, match=error):
+            SigningKey.from_wif_or_ewif_file(TEST_FILE_PATH)
+
     def test_load_credentials_file(self):
         salt = password = "test"