diff --git a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultMappingManager.java b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultMappingManager.java
index e489af4..83fe8b0 100644
--- a/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultMappingManager.java
+++ b/core/provisioning-java/src/main/java/org/apache/syncope/core/provisioning/java/DefaultMappingManager.java
@@ -407,7 +407,7 @@
         });
 
         if (account.isSuspended() != null) {
-            attributes.add(AttributeBuilder.buildEnabled(!BooleanUtils.negate(account.isSuspended())));
+            attributes.add(AttributeBuilder.buildEnabled(BooleanUtils.negate(account.isSuspended())));
         }
         if (!changePwd) {
             Attribute pwdAttr = AttributeUtil.find(OperationalAttributes.PASSWORD_NAME, attributes);
diff --git a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/DefaultMappingManagerTest.java b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/DefaultMappingManagerTest.java
index 9706dc0..c9363bd 100644
--- a/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/DefaultMappingManagerTest.java
+++ b/core/provisioning-java/src/test/java/org/apache/syncope/core/provisioning/java/DefaultMappingManagerTest.java
@@ -51,6 +51,7 @@
 import org.junit.jupiter.api.Test;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.transaction.annotation.Transactional;
+import org.identityconnectors.framework.common.objects.OperationalAttributes;
 
 @Transactional("Master")
 public class DefaultMappingManagerTest extends AbstractTest {
@@ -165,6 +166,7 @@
         account.setConnObjectKeyValue("admin");
         account.setResource(ldap);
         account.setOwner(vivaldi);
+        account.setSuspended(Boolean.FALSE);
         account.setPassword("Password321", CipherAlgorithm.AES);
         vivaldi.add(account);
 
@@ -180,6 +182,7 @@
                 provision);
         assertEquals("admin", AttributeUtil.getStringValue(AttributeUtil.find("cn", attrs)));
         assertEquals("Password321", SecurityUtil.decrypt(AttributeUtil.getPasswordValue(attrs)));
+        assertTrue(AttributeUtil.getBooleanValue(AttributeUtil.find(OperationalAttributes.ENABLE_NAME, attrs)));
 
         // 2. without account password and clear-text default password
         account.setEncodedPassword(null, null);
