diff --git a/htdocs/fourn/class/fournisseur.commande.class.php b/htdocs/fourn/class/fournisseur.commande.class.php
index 0a0067f1105c11d4bbd39a514c30b73096a52b58..6d0edce5a6534bff23d82ecf6f126455485a86e2 100644
--- a/htdocs/fourn/class/fournisseur.commande.class.php
+++ b/htdocs/fourn/class/fournisseur.commande.class.php
@@ -390,9 +390,9 @@ class CommandeFournisseur extends CommonOrder
                 include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
                 $interface=new Interfaces($this->db);
                 $result=$interface->run_triggers('ORDER_SUPPLIER_VALIDATE',$this,$user,$langs,$conf);
-                if ($result < 0) 
-                { 
-                    $error++; 
+                if ($result < 0)
+                {
+                    $error++;
                     $this->errors=$interface->errors;
                     $this->db->rollback();
                     return -1;
@@ -749,7 +749,7 @@ class CommandeFournisseur extends CommonOrder
                 }
                 else
                 {
-                    $this->db->rollback();               
+                    $this->db->rollback();
                     return -1;
                 }
             }
@@ -780,34 +780,44 @@ class CommandeFournisseur extends CommonOrder
 
 		$error=0;
 
-        dol_syslog(get_class($this)."::refuse");
         $result = 0;
         if ($user->rights->fournisseur->commande->approuver)
         {
             $this->db->begin();
-            
+
             $sql = "UPDATE ".MAIN_DB_PREFIX."commande_fournisseur SET fk_statut = 9";
-            $sql .= " WHERE rowid = ".$this->id;         
-            
-            if ($this->db->query($sql))
+            $sql.= " WHERE rowid = ".$this->id;
+
+            dol_syslog(get_class($this)."::refuse sql=".$sql);
+            $resql=$this->db->query($sql);
+
+            if ($resql)
             {
                 $result = 0;
                 $this->log($user, 9, time());
 
-                if ($error == 0)
+                if (! $error)
                 {
                     // Appel des triggers
                     include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
                     $interface=new Interfaces($this->db);
                     $result=$interface->run_triggers('ORDER_SUPPLIER_REFUSE',$this,$user,$langs,$conf);
-                    if ($result < 0) 
-                    { 
+                    if ($result < 0)
+                    {
                         $error++;
                         $this->errors=$interface->errors;
-                        $this->db->rollback();   
                     }
                     // Fin appel triggers
                 }
+
+                if (! $error)
+                {
+                	$this->db->commit();
+                }
+                else
+              {
+	                $this->db->rollback();
+                }
             }
             else
             {
@@ -821,7 +831,7 @@ class CommandeFournisseur extends CommonOrder
         {
             dol_syslog(get_class($this)."::refuse Not Authorized");
         }
-        return $result ;
+        return $result;
     }
 
     /**
@@ -1052,7 +1062,7 @@ class CommandeFournisseur extends CommonOrder
 	                    include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
 	                    $interface=new Interfaces($this->db);
 	                    $result=$interface->run_triggers('ORDER_SUPPLIER_CREATE',$this,$user,$langs,$conf);
-	                    if ($result < 0) 
+	                    if ($result < 0)
 	                    {
 	                        $error++;
 	                        $this->errors=$interface->errors;
@@ -1305,8 +1315,8 @@ class CommandeFournisseur extends CommonOrder
                     include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
                     $interface=new Interfaces($this->db);
                     $result=$interface->run_triggers('LINEORDER_SUPPLIER_CREATE',$this,$user,$langs,$conf);
-                    if ($result < 0) 
-                    { 
+                    if ($result < 0)
+                    {
                         $error++;
                         $this->errors=$interface->errors;
                         $this->db->rollback();
@@ -1377,7 +1387,7 @@ class CommandeFournisseur extends CommonOrder
                     $interface=new Interfaces($this->db);
                     $result=$interface->run_triggers('LINEORDER_SUPPLIER_DISPATCH',$this,$user,$langs,$conf);
                     if ($result < 0)
-                    { 
+                    {
                         $error++;
                         $this->errors=$interface->errors;
                         $this->db->rollback();
@@ -1442,7 +1452,7 @@ class CommandeFournisseur extends CommonOrder
         {
             $sql = "DELETE FROM ".MAIN_DB_PREFIX."commande_fournisseurdet WHERE rowid = ".$idligne;
             $resql=$this->db->query($sql);
-            
+
             //TODO: Add trigger for deleted line
             dol_syslog(get_class($this)."::deleteline sql=".$sql);
             if ($resql)