diff --git a/htdocs/expedition/class/expedition.class.php b/htdocs/expedition/class/expedition.class.php
index 93c7f63b4adf3ddde8ae8f6045c6d1b135b16e05..c0c647698e8f14911c5060440bf4132f33935bc7 100644
--- a/htdocs/expedition/class/expedition.class.php
+++ b/htdocs/expedition/class/expedition.class.php
@@ -590,6 +590,8 @@ class Expedition extends CommonObject
 			    $cpt = $this->db->num_rows($resql);
                 for ($i = 0; $i < $cpt; $i++)
 				{
+					if($obj->qty <= 0) continue;
+					
 					dol_syslog(get_class($this)."::valid movement index ".$i);
 					$obj = $this->db->fetch_object($resql);
 
diff --git a/htdocs/expedition/fiche.php b/htdocs/expedition/fiche.php
index 89d0995fb45204717f615bd8625e9f15eea065b3..ff6b23c10be6a6dfd4739a8acd11909928554086 100644
--- a/htdocs/expedition/fiche.php
+++ b/htdocs/expedition/fiche.php
@@ -163,7 +163,7 @@ if ($action == 'add')
         {
             $qty = "qtyl".$i;
 			if (! isset($batch_line[$i])) {
-				if (GETPOST($qty,'int') > 0)
+				if (GETPOST($qty,'int') > 0 || (GETPOST($qty,'int') == 0 && $conf->global->SHIPMENT_GETS_ALL_ORDER_PRODUCTS))
 				{
 					$ent = "entl".$i;
 					$idl = "idl".$i;