diff --git a/ChangeLog b/ChangeLog
index 9c9c2b8a039d093949bf01a0547de908715799a1..350f5ba7b6d8023c833450b357e20d4b69029290 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -5,6 +5,8 @@ English Dolibarr ChangeLog
 
 ***** ChangeLog for 3.7 compared to 3.6.* *****
 For users:
+- New: Feature to link manually an order to an invoice does not disappear once
+       link has been done.
 - New: Can set a color on user card (visible into agenda view).
 - New: extrafields for projects and tasks are exported to ODT documents.
 - New: Add number of active notification into tab title (like we do for notes and documents)
diff --git a/htdocs/compta/facture.php b/htdocs/compta/facture.php
index eb4ca29f022f10175afe472881b37b1a4f07032b..27dbcc5c83c0c6c8b27e638ca0bd528a096c4054 100644
--- a/htdocs/compta/facture.php
+++ b/htdocs/compta/facture.php
@@ -3579,21 +3579,24 @@ if ($action == 'create')
 		// Linked object block
 		$somethingshown = $object->showLinkedObjectBlock();
 
-		if (empty($somethingshown) && ! empty($conf->commande->enabled))
+		$linktoelem='';
+
+		if (! empty($conf->commande->enabled))
 		{
-			print '<br><a href="#" id="linktoorder">' . $langs->trans('LinkedOrder') . '</a>';
+			$linktoelem.=($linktoelem?' &nbsp; ':'').'<a href="#" id="linktoorder">' . $langs->trans('LinkedOrder') . '</a>';
 
 			print '
 				<script type="text/javascript" language="javascript">
 				jQuery(document).ready(function() {
 					jQuery("#linktoorder").click(function() {
-						jQuery("#commande").toggle();
+						jQuery("#orderlist").toggle();
+						jQuery("#linktoorder").toggle();
 					});
 				});
 				</script>
 				';
 
-			print '<div id="commande" style="display:none">';
+			print '<div id="orderlist" style="display:none">';
 
 			$sql = "SELECT s.rowid as socid, s.nom as name, s.client, c.rowid, c.ref, c.ref_client, c.total_ht";
 			$sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";
@@ -3601,11 +3604,12 @@ if ($action == 'create')
 			$sql .= ' WHERE c.fk_soc = s.rowid AND c.fk_soc = ' . $soc->id . '';
 
 			$resqlorderlist = $db->query($sql);
-			if ($resqlorderlist) {
+			if ($resqlorderlist)
+			{
 				$num = $db->num_rows($resqlorderlist);
 				$i = 0;
 
-				print '<form action="" method="POST" name="LinkedOrder">';
+				print '<br><form action="" method="POST" name="LinkedOrder">';
 				print '<table class="noborder">';
 				print '<tr class="liste_titre">';
 				print '<td class="nowrap"></td>';
@@ -3614,7 +3618,8 @@ if ($action == 'create')
 				print '<td align="left">' . $langs->trans("AmountHTShort") . '</td>';
 				print '<td align="left">' . $langs->trans("Company") . '</td>';
 				print '</tr>';
-				while ($i < $num) {
+				while ($i < $num)
+				{
 					$objp = $db->fetch_object($resqlorderlist);
 					if ($objp->socid == $soc->id) {
 						$var = ! $var;
@@ -3632,7 +3637,7 @@ if ($action == 'create')
 					$i ++;
 				}
 				print '</table>';
-				print '<br><center><input type="submit" class="button" value="' . $langs->trans('ToLink') . '"></center>';
+				print '<br><center><input type="submit" class="button" value="' . $langs->trans('ToLink') . '"> &nbsp; <input type="submit" class="button" name="cancel" value="' . $langs->trans('Cancel') . '"></center>';
 				print '</form>';
 				$db->free($resqlorderlist);
 			} else {
@@ -3642,6 +3647,9 @@ if ($action == 'create')
 			print '</div>';
 		}
 
+		// Show link to elements
+		if ($linktoelem) print '<br>'.$linktoelem;
+
 		// Link for paypal payment
 		if (! empty($conf->paypal->enabled) && $object->statut != 0) {
 			include_once DOL_DOCUMENT_ROOT . '/paypal/lib/paypal.lib.php';
diff --git a/htdocs/fourn/facture/card.php b/htdocs/fourn/facture/card.php
index c8db601a8d961e4ec263669ca820870c132a742e..7f58e6ddd6e944fddbc6ce8dd7ad5ecd1ad1fd61 100644
--- a/htdocs/fourn/facture/card.php
+++ b/htdocs/fourn/facture/card.php
@@ -2288,21 +2288,24 @@ else
                  */
                 $somethingshown=$object->showLinkedObjectBlock();
 
+                $linktoelem='';
+
                 if (empty($somethingshown) && ! empty($conf->fournisseur->enabled))
                 {
-                	print '<br><a href="#" id="linktoorder">' . $langs->trans('LinkedOrder') . '</a>';
+                	$linktoelem.=($linktoelem?' &nbsp; ':'').'<a href="#" id="linktoorder">' . $langs->trans('LinkedOrder') . '</a>';
 
                 	print '
 						<script type="text/javascript" language="javascript">
 						jQuery(document).ready(function() {
 							jQuery("#linktoorder").click(function() {
-								jQuery("#commande").toggle();
-							});
+								jQuery("#orderlist").toggle();
+								jQuery("#linktoorder").toggle();
+                			});
 						});
 						</script>
 						';
 
-                	print '<div id="commande" style="display:none">';
+                	print '<div id="orderlist" style="display:none">';
 
                 	$sql = "SELECT s.rowid as socid, s.nom as name, s.client, c.rowid, c.ref, c.ref_supplier, c.total_ht";
                 	$sql .= " FROM " . MAIN_DB_PREFIX . "societe as s";
@@ -2314,7 +2317,7 @@ else
                 		$num = $db->num_rows($resqlorderlist);
                 		$i = 0;
 
-                		print '<form action="" method="POST" name="LinkedOrder">';
+                		print '<br><form action="" method="POST" name="LinkedOrder">';
                 		print '<table class="noborder">';
                 		print '<tr class="liste_titre">';
                 		print '<td class="nowrap"></td>';
@@ -2341,7 +2344,7 @@ else
                 			$i ++;
                 		}
                 		print '</table>';
-                		print '<br><center><input type="submit" class="button" value="' . $langs->trans('ToLink') . '"></center>';
+                		print '<br><center><input type="submit" class="button" value="' . $langs->trans('ToLink') . '"> &nbsp; <input type="submit" class="button" name="cancel" value="' . $langs->trans('Cancel') . '"></center>';
                 		print '</form>';
                 		$db->free($resqlorderlist);
                 	} else {
@@ -2351,6 +2354,9 @@ else
                 	print '</div>';
                 }
 
+				// Show link to elements
+				if ($linktoelem) print '<br>'.$linktoelem;
+
 				print '</div><div class="fichehalfright"><div class="ficheaddleft">';
                 //print '</td><td valign="top" width="50%">';
                 //print '<br>';
diff --git a/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php b/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php
index 211d6c4ad8fd2561492cd761b7ed7af98d149df8..a6d9164a91c35883db4dd11aac0a81b94e9b6ed5 100644
--- a/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php
+++ b/htdocs/fourn/facture/tpl/linkedobjectblock.tpl.php
@@ -32,6 +32,7 @@ echo '<br>';
 if ($num > 1) print_titre($langs->trans("RelatedBills"));
 else print_titre($langs->trans("RelatedBill"));
 ?>
+
 <table class="noborder allwidth">
 <tr class="liste_titre">
 	<td><?php echo $langs->trans("Ref"); ?></td>