diff --git a/htdocs/livraison/fiche.php b/htdocs/livraison/fiche.php
index 90c746b94ac633911c477f0375667e737277576c..e5ccdad1099fdab92cb4fa0bd73c952f5232a477 100644
--- a/htdocs/livraison/fiche.php
+++ b/htdocs/livraison/fiche.php
@@ -569,7 +569,7 @@ else
       $sql.= " FROM ".MAIN_DB_PREFIX."commandedet as cd";
       $sql.= " , ".MAIN_DB_PREFIX."livraisondet as ld, ".MAIN_DB_PREFIX."livraison as l";
       $sql.= " WHERE l.rowid <> ".$livraison->id;
-      $sql.= " AND cd.rowid = ld.fk_commande_ligne";
+      $sql.= " AND cd.rowid = ld.fk_origin_line";
       $sql.= " AND ld.fk_livraison = l.rowid";
       $sql.= " AND l.fk_statut > 0";
       $sql.= " ORDER BY cd.fk_product";
diff --git a/htdocs/livraison/livraison.class.php b/htdocs/livraison/livraison.class.php
index acaa912ad34de879513c0be405e8f10d2e987b41..4e5290cf444e165f60c594ed50de0c509f123523 100644
--- a/htdocs/livraison/livraison.class.php
+++ b/htdocs/livraison/livraison.class.php
@@ -120,10 +120,10 @@ class Livraison extends CommonObject
 				*/
 				for ($i = 0 ; $i < sizeof($this->lignes) ; $i++)
 				{
-					$origin_id=$this->lignes[$i]->origin_ligne_id;
+					$origin_id=$this->lignes[$i]->origin_line_id;
 					if (! $origin_id) $origin_id=$this->lignes[$i]->commande_ligne_id;	// For backward compatibility
 					
-					if (! $this->create_line(0, $origin_id, $this->lignes[$i]->qty))
+					if (! $this->create_line(0, $origin_id, $this->lignes[$i]->qty, $this->lignes[$i]->fk_product))
 					{
 						$error++;
 					}
@@ -178,24 +178,14 @@ class Livraison extends CommonObject
 	*
 	*
 	*/
-	function create_line($transaction, $commande_ligne_id, $qty)
+	function create_line($transaction, $commande_ligne_id, $qty, $fk_product=0)
 	{
 		$error = 0;
-		$idprod = 0;
+		$idprod = $fk_product;
 		$j = 0;
 	
-		// Search product id
-		while (($j < sizeof($this->commande->lignes)) && idprod == 0)
-		{
-			if ($this->commande->lignes[$j]->id == $commande_ligne_id)
-			{
-				$idprod = $this->commande->lignes[$j]->fk_product;
-			}
-			$j++;
-		}
-	
 		$sql = "INSERT INTO ".MAIN_DB_PREFIX."livraisondet (fk_livraison, fk_origin_line,";
-		if ($idprod) $sql.=" fk_product";
+		if ($idprod) $sql.=" fk_product,";
 		$sql.= " qty)";
 		$sql.= " VALUES (".$this->id.",".$commande_ligne_id.",";
 		if ($idprod) $sql.=" ".$idprod.",";
@@ -480,9 +470,9 @@ class Livraison extends CommonObject
 		for ($i = 0 ; $i < sizeof($expedition->lignes) ; $i++)
 		{
 			$LivraisonLigne = new LivraisonLigne($this->db);
-			$LivraisonLigne->origin_ligne_id   = $expedition->lignes[$i]->origin_line_id;
+			$LivraisonLigne->origin_line_id    = $expedition->lignes[$i]->origin_line_id;
 			$LivraisonLigne->libelle           = $expedition->lignes[$i]->libelle;
-			$LivraisonLigne->description       = $expedition->lignes[$i]->product_desc;
+			$LivraisonLigne->description       = $expedition->lignes[$i]->description;
 			$LivraisonLigne->qty               = $expedition->lignes[$i]->qty_shipped;
 			$LivraisonLigne->fk_product        = $expedition->lignes[$i]->fk_product;
 			$LivraisonLigne->ref               = $expedition->lignes[$i]->ref;