diff --git a/htdocs/admin/ldap.php b/htdocs/admin/ldap.php
index 9e0531cfb7d070ba7b18bfa9043f7b2b991b5b0c..571d86caba0bb8775c0ccf84e1d13ffef5eea5be 100644
--- a/htdocs/admin/ldap.php
+++ b/htdocs/admin/ldap.php
@@ -48,6 +48,13 @@ if ($_GET["action"] == 'setvalue' && $user->admin)
   $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES
 	('LDAP_SERVER_HOST','".$_POST["host"]."',0);";
 	$db->query($sql);
+	
+	$sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_SERVER_PORT';";
+  $db->query($sql);
+
+  $sql = "INSERT INTO ".MAIN_DB_PREFIX."const (name,value,visible) VALUES
+	('LDAP_SERVER_PORT','".$_POST["port"]."',0);";
+	$db->query($sql);
 
   $sql = "DELETE FROM ".MAIN_DB_PREFIX."const WHERE name = 'LDAP_SUFFIX_DN';";
   $db->query($sql);
@@ -137,6 +144,14 @@ print "</tr>\n";
     {
         print '<tr><td>'.$langs->trans("LDAPServer").'</td><td>'.$langs->trans("LDAPServerExample").'</td></tr>';
     }
+    if (defined("LDAP_SERVER_PORT") && LDAP_SERVER_PORT)
+    {
+		    print '<tr><td>'.$langs->trans("LDAPServerPort").'</td><td>'.LDAP_SERVER_PORT.'</td></tr>';
+    }
+    else
+    {
+        print '<tr><td>'.$langs->trans("LDAPServerPort").'</td><td>'.$langs->trans("LDAPServerPortExample").'</td></tr>';
+    }
     if (defined("LDAP_SUFFIX_DN") && LDAP_SUFFIX_DN)
     {
         print '<tr><td>'.$langs->trans("LDAPSuffix").'</td><td>'.LDAP_SUFFIX_DN.'</td></tr>';
@@ -221,6 +236,16 @@ print '<tr><td>';
 print $langs->trans("LDAPServer").'</td><td>';
 print '<input size="25" type="text" name="host" value="'.LDAP_SERVER_HOST.'">';
 print '</td></tr>';
+print '<tr><td>'.$langs->trans("LDAPServerPort").'</td><td>';
+if (defined("LDAP_SERVER_PORT") && LDAP_SERVER_PORT)
+{
+	print '<input size="25" type="text" name="port" value="'.LDAP_SERVER_PORT.'">';
+}
+else
+{
+	print '<input size="25" type="text" name="port" value="389">';
+}
+print '</td></tr>';
 print '<tr><td>'.$langs->trans("LDAPSuffix").'</td><td>';
 print '<input size="25" type="text" name="suffix" value="'.LDAP_SUFFIX_DN.'">';
 print '</td></tr>';
@@ -295,11 +320,17 @@ if (defined("LDAP_SERVER_HOST") && LDAP_SERVER_HOST) {
 if (defined("LDAP_SERVER_HOST") && LDAP_SERVER_HOST && LDAP_ADMIN_DN && LDAP_ADMIN_PASS && $_GET["action"] == 'test')
 {
   $ds = dolibarr_ldap_connect();
-
+/*
   if ($ds)
     {
-      print "connection au serveur ldap r�ussie<br>";
-
+	     print "connexion au serveur ldap r�ussie<br>";
+    }
+    else
+    {
+	     print "connexion au serveur ldap �chou�e";
+	     print img_picto('','alerte');
+	  	 print "<br>";
+    }
       if ((dolibarr_ldap_getversion($ds) == 3))
 				{
 					print "Serveur ldap configur� en version 3<br>";
@@ -308,21 +339,21 @@ if (defined("LDAP_SERVER_HOST") && LDAP_SERVER_HOST && LDAP_ADMIN_DN && LDAP_ADM
 				{
 					print "Serveur ldap configur� en version 2<br>";
 				}
-
-      $bind = dolibarr_ldap_bind($ds);
+*/
+      $bind = @dolibarr_ldap_bind($ds);
 
       if ($bind)
 				{
-	  			print "connection au dn $dn r�ussi<br>";
+	  			print "connexion au dn $dn r�ussi<br>";
 				}
       	else
 				{
-	  			print "connection au dn $dn rat�";
+	  			print "connexion au dn $dn rat�";
 	  			print img_picto('','alerte');
 	  			print "<br>";
 				}
 
-				$unbind = dolibarr_ldap_unbind($ds);
+				$unbind = @dolibarr_ldap_unbind($ds);
 
 			if ($bind)
 				{
@@ -334,11 +365,6 @@ if (defined("LDAP_SERVER_HOST") && LDAP_SERVER_HOST && LDAP_ADMIN_DN && LDAP_ADM
 	  			print img_picto('','alerte');
 	  			print "<br>";
 				}
-    }
-  	else
-    {
-      print "connection au serveur ldap �chou�e<br>";
-    }
 }
 
 $db->close();
diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index c295013af66f78697e92239f51f905ca2178030d..841c9b149b69794cdd3605c93150fabd66650b23 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -265,6 +265,8 @@ InterventionsSetup=Interventions module setup
 ##### LDAP setup ####
 LDAPSetup=LDAP Setup
 LDAPServer=LDAP Server
+LDAPServerPort=LDAP server port
+LDAPServerPortExample=Default port : 389
 TestConnectLdap=Test connection
 LDAPSuffix=LDAP suffix
 DNAdmin=LDAP Administrator
diff --git a/htdocs/langs/fr_FR/admin.lang b/htdocs/langs/fr_FR/admin.lang
index 03d799f626027f1c5dde942994f04cebf061d4ea..17b21dffd0926b32346aea85568aa997e82a68c0 100644
--- a/htdocs/langs/fr_FR/admin.lang
+++ b/htdocs/langs/fr_FR/admin.lang
@@ -265,6 +265,8 @@ InterventionsSetup=Configuration du module Interventions
 ##### LDAP setup #####
 LDAPSetup=Configuration du module LDAP
 LDAPServer=Serveur LDAP
+LDAPServerPort=Port du serveur LDAP
+LDAPServerPortExample=Port par d�faut : 389
 TestConnectLdap=Tester la connexion
 LDAPSuffix=Suffix LDAP
 DNAdmin=Administrateur LDAP
diff --git a/htdocs/lib/ldap.lib.php b/htdocs/lib/ldap.lib.php
index b5fcd24e26c6c5b81f58e9307e43c039f67f5af6..512e540b58294743ecd1cb6aacb921079965bd98 100644
--- a/htdocs/lib/ldap.lib.php
+++ b/htdocs/lib/ldap.lib.php
@@ -40,8 +40,8 @@
 
 function dolibarr_ldap_connect()
 {
-  $ldapconnect = ldap_connect(LDAP_SERVER_HOST);
-
+  $ldapconnect = ldap_connect(LDAP_SERVER_HOST,LDAP_SERVER_PORT);
+  
   return $ldapconnect;
 }