diff --git a/entity/Person_entity/Person_entity.aod b/entity/Person_entity/Person_entity.aod
index 9ee65df6a8250d8e1ddb0013a32bf3c4883efbed..cc93d6ec372f55d0d72aec8f38f4ed96a29b7992 100644
--- a/entity/Person_entity/Person_entity.aod
+++ b/entity/Person_entity/Person_entity.aod
@@ -85,6 +85,7 @@
       <title>Salutation</title>
       <consumer>Salutations</consumer>
       <mandatory v="true" />
+      <mandatoryProcess>%aditoprj%/entity/Person_entity/entityfields/salutation/mandatoryProcess.js</mandatoryProcess>
       <displayValueProcess>%aditoprj%/entity/Person_entity/entityfields/salutation/displayValueProcess.js</displayValueProcess>
     </entityField>
     <entityField>
diff --git a/entity/Person_entity/entityfields/salutation/mandatoryProcess.js b/entity/Person_entity/entityfields/salutation/mandatoryProcess.js
new file mode 100644
index 0000000000000000000000000000000000000000..a8de61cfd8f9059710eea36dd17ba7993b73bb33
--- /dev/null
+++ b/entity/Person_entity/entityfields/salutation/mandatoryProcess.js
@@ -0,0 +1,11 @@
+import("system.result");
+import("KeywordRegistry_basic");
+import("system.vars");
+
+
+var sex = vars.get("$field.GENDER")
+
+if (sex == $KeywordRegistry.personGender$other())
+{
+    result.string(false);
+}
diff --git a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
index 6ec6ebd31445fee5aef7ad0f62c9d097b5e07a3b..b06971436e7a962a52bde2d38002e8890b17ee32 100644
--- a/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
+++ b/language/_____LANGUAGE_en/_____LANGUAGE_en.aod
@@ -1741,7 +1741,7 @@
     </entry>
     <entry>
       <key>${GENDER_OTHER}</key>
-      <value>Other</value>
+      <value>Diverse</value>
     </entry>
     <entry>
       <key>Turkey</key>
diff --git a/process/Address_lib/process.js b/process/Address_lib/process.js
index a9dc6dbda503a8660154d790a17f148fe06757ba..bfe22875176dd2d155b1f4b605f58053b02ebd8f 100644
--- a/process/Address_lib/process.js
+++ b/process/Address_lib/process.js
@@ -224,7 +224,8 @@ function fetchAddressData( pCondition, pConfig, AddressID, pPerson)
             "CONTACT.CONTACTPOSITION", "CONTACT.LETTERSALUTATION", "ORGANISATION.NAME", "PERSON.FIRSTNAME", "PERSON.MIDDLENAME", "PERSON.LASTNAME",  // 13-18
             "PERSON.SALUTATION", "PERSON.TITLE", "PERSON.TITLESUFFIX", // 19-21
             "coalesce( CONTACT.ISOLANGUAGE, (select C.ISOLANGUAGE from CONTACT C where C.ORGANISATION_ID = CONTACT.ORGANISATION_ID and PERSON_ID is null))", // 22
-            "''", "''", "''", "(select ADDR_FORMAT from AB_COUNTRYINFO where ISO2 = ADDRESS.COUNTRY)", "ADDRESS.ADDR_TYPE" // 23-27
+            "''", "''", "''", "(select ADDR_FORMAT from AB_COUNTRYINFO where ISO2 = ADDRESS.COUNTRY)", "ADDRESS.ADDR_TYPE", // 23-27
+            "PERSON.GENDER"//28
         ];
 											
         for (let i=0; i < pConfig.length; i++ )
@@ -406,6 +407,7 @@ function _getAddrData( pData )
             if ( sformat == undefined )  sformat = _getSalutation( pData[22] + pData[19] );            
             //no language defined
             if ( sformat == undefined )  sformat = _getSalutation( pData[19] + pData[20] );
+            if ( sformat == undefined )  sformat = _getSalutation( pData[22] + pData[28] );
             // no language specific entry in salutation
             if ( sformat == undefined || sformat[0] == "" || sformat[1] == "" )	sformat = ["{sa} {ti} {fn} {ln}", "{sa} {ti} {ln}"];
             salutation = _formatAddrData( pData,  sformat[0] );
@@ -435,11 +437,15 @@ function _getSalutation( pSalutCode )
     }
     else
     {	
-        var list = db.table("select ISOLANGUAGE, SALUTATION, TITLE, HEADLINE, LETTERSALUTATION from SALUTATION" );
+        var list = newSelect(["SALUTATION.ISOLANGUAGE", "SALUTATION.SALUTATION", "SALUTATION.TITLE", "SALUTATION.HEADLINE", "SALUTATION.LETTERSALUTATION", "SALUTATION.SEX"])
+        .from("SALUTATION")
+        .orderBy("SALUTATION.SORT");
+        
         for ( var i = 0; i < list.length; i++ )	
         {   
             salut[list[i][0] + list[i][1] + list[i][2]] = [list[i][3], list[i][4]];
             salut[list[i][1] + list[i][2]] = [list[i][3], list[i][4]];
+            salut[list[i][0] + list[i][5]] = [list[i][3], list[i][4]];
         }
         vars.set("$global.Salutation", salut);
     }