diff --git a/htdocs/commande/class/commande.class.php b/htdocs/commande/class/commande.class.php
index f4ac06719a68369516af7066629487693550705e..83b2c719e8161f8ca07a733d10e26598d579b86b 100644
--- a/htdocs/commande/class/commande.class.php
+++ b/htdocs/commande/class/commande.class.php
@@ -1461,9 +1461,11 @@ class Commande extends CommonObject
 	function nb_expedition()
 	{
         $sql = 'SELECT count(*)';
-        $sql.= ' FROM '.MAIN_DB_PREFIX.'expedition as e,';
-        $sql.= ' '.MAIN_DB_PREFIX."element_element as el ON el.fk_target = e.rowid AND el.targettype = 'shipping'";
-        $sql.= " WHERE el.fk_source = ".$this->id;
+        $sql.= ' FROM '.MAIN_DB_PREFIX.'expedition as e';
+        $sql.= ', '.MAIN_DB_PREFIX.'element_element as el';
+        $sql.= ' WHERE el.fk_source = '.$this->id;
+        $sql.= " AND el.fk_target = e.rowid";
+        $sql.= " AND el.targettype = 'shipping'";
 
 		$resql = $this->db->query($sql);
 		if ($resql)
diff --git a/htdocs/commande/fiche.php b/htdocs/commande/fiche.php
index b6710612085f628515ec874752a5967a1b21202a..5a6e568e6306f8d8c02a7181ebfc228fb200e58c 100644
--- a/htdocs/commande/fiche.php
+++ b/htdocs/commande/fiche.php
@@ -1865,17 +1865,13 @@ else
                     // Valid
                     if ($object->statut == 0 && $object->total_ttc >= 0 && $numlines > 0 && $user->rights->commande->valider)
                     {
-                        print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=validate"';
-                        print '>'.$langs->trans('Validate').'</a>';
+                        print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=validate">'.$langs->trans('Validate').'</a>';
                     }
 
                     // Edit
-                    if ($object->statut == 1)
+                    if ($object->statut == 1 && $user->rights->commande->creer)
                     {
-                        if ($user->rights->commande->creer)
-                        {
-                            print '<a class="butAction" href="fiche.php?id='.$object->id.'&amp;action=modif">'.$langs->trans('Modify').'</a>';
-                        }
+                        print '<a class="butAction" href="fiche.php?id='.$object->id.'&amp;action=modif">'.$langs->trans('Modify').'</a>';
                     }
 
                     // Send
@@ -1893,24 +1889,16 @@ else
                     }
 
                     // Ship
+                    $numshipping=0;
                     if ($conf->expedition->enabled)
                     {
+                    	$numshipping = $object->nb_expedition();
+                    	
                         if ($object->statut > 0 && $object->statut < 3 && $object->getNbOfProductsLines() > 0)
                         {
                             if ($user->rights->expedition->creer)
                             {
-                                // Chargement des permissions
-                                /*$error = $user->load_entrepots();	deprecated
-                                if (sizeof($user->entrepots) === 1)
-                                {
-                                print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/fiche.php?id='.$id.'&amp;action=create&amp;commande_id='.$id.'&entrepot_id='.$user->entrepots[0]['id'].'">';
-                                print $langs->trans('ShipProduct').'</a>';
-
-                                }
-                                else
-                                {*/
                                 print '<a class="butAction" href="'.DOL_URL_ROOT.'/expedition/shipment.php?id='.$object->id.'">'.$langs->trans('ShipProduct').'</a>';
-                                //}
                             }
                             else
                             {
@@ -1940,13 +1928,9 @@ else
                     }
 
                     // Close
-                    if ($object->statut == 1 || $object->statut == 2)
+                    if (($object->statut == 1 || $object->statut == 2) && $user->rights->commande->cloturer)
                     {
-                        if ($user->rights->commande->cloturer)
-                        {
-                            print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=close"';
-                            print '>'.$langs->trans('Close').'</a>';
-                        }
+                        print '<a class="butAction" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=close">'.$langs->trans('Close').'</a>';
                     }
 
                     // Clone
@@ -1956,21 +1940,22 @@ else
                     }
 
                     // Cancel order
-                    if ($object->statut == 1)
+                    if ($object->statut == 1 && $user->rights->commande->annuler)
                     {
-                        $nb_expedition = $object->nb_expedition();
-                        if ($user->rights->commande->annuler && $nb_expedition == 0)
-                        {
-                            print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=cancel"';
-                            print '>'.$langs->trans('Cancel').'</a>';
-                        }
+                        print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=cancel">'.$langs->trans('Cancel').'</a>';
                     }
 
                     // Delete order
                     if ($user->rights->commande->supprimer)
                     {
-                        print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=delete"';
-                        print '>'.$langs->trans('Delete').'</a>';
+                    	if ($numshipping == 0)
+                    	{
+                    		print '<a class="butActionDelete" href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=delete">'.$langs->trans('Delete').'</a>';
+                    	}
+                    	else
+                    	{
+                    		print '<a class="butActionRefused" href="#" title="'.$langs->trans("ShippingExist").'">'.$langs->trans("Delete").'</a>';
+                    	}
                     }
 
                     print '</div>';