diff --git a/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py b/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py
index 8ded12597e5113af9d924470c442d94672910f85..b777d58f1b086561e66f90cae17c0609f5647fa2 100644
--- a/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py
+++ b/bt5/erp5_base/MixinTemplateItem/portal_components/mixin.erp5.EncryptedPasswordMixin.py
@@ -82,6 +82,8 @@ class EncryptedPasswordMixin(object):
       value,
       format='default',  # pylint: disable=redefined-builtin
   ):
+    if value is not None and not isinstance(value, bytes):
+      value = value.encode()
     password = getattr(aq_base(self), 'password', None)
     if password is None or isinstance(password, basestring):
       password = self.password = PersistentMapping()
@@ -111,8 +113,6 @@ class EncryptedPasswordMixin(object):
 
   security.declareProtected(Permissions.AccessContentsInformation, 'getPassword')
   def getPassword(self, *args, **kw):
-    """
-    """
     marker = []
     if len(args):
       default_password = args[0]