diff --git a/htdocs/projet/tasks/contact.php b/htdocs/projet/tasks/contact.php
index 4c19d85888b6d7ce299b77ea23bc5decb5c63c9f..f4b4d03fd23b1baecd2de3cf843fc8d50bb90dfe 100644
--- a/htdocs/projet/tasks/contact.php
+++ b/htdocs/projet/tasks/contact.php
@@ -66,7 +66,7 @@ if ($action == 'addcontact' && $user->rights->projet->creer)
 
 	if ($result >= 0)
 	{
-		Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id);
+		Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id.($withproject?'&withproject=1':''));
 		exit;
 	}
 	else
@@ -104,7 +104,7 @@ if ($action == 'deleteline' && $user->rights->projet->creer)
 
 	if ($result >= 0)
 	{
-		Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id);
+		Header("Location: ".$_SERVER["PHP_SELF"]."?id=".$object->id.($withproject?'&withproject=1':''));
 		exit;
 	}
 	else
@@ -125,7 +125,8 @@ if (! empty($project_ref) && ! empty($withproject))
 		}
 		else
 		{
-			Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.(empty($mode)?'':'&mode='.$mode));
+			Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject?'&withproject=1':'').(empty($mode)?'':'&mode='.$mode));
+			exit;
 		}
 	}
 }
@@ -282,6 +283,7 @@ if ($id > 0 || ! empty($ref))
 			print '<input type="hidden" name="action" value="addcontact">';
 			print '<input type="hidden" name="source" value="internal">';
 			print '<input type="hidden" name="id" value="'.$id.'">';
+			print '<input type="hidden" name="withproject" value="'.$withproject.'">';
 
 			// Ligne ajout pour contact interne
 			print "<tr $bc[$var]>";
@@ -418,7 +420,7 @@ if ($id > 0 || ! empty($ref))
 				// Statut
 				print '<td align="center">';
 				// Activation desativation du contact
-				if ($object->statut >= 0) print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=swapstatut&amp;ligne='.$tab[$i]['rowid'].'">';
+				if ($object->statut >= 0) print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=swapstatut&ligne='.$tab[$i]['rowid'].($withproject?'&withproject=1':'').'">';
 				print $contactstatic->LibStatut($tab[$i]['status'],3);
 				if ($object->statut >= 0) print '</a>';
 				print '</td>';
@@ -428,7 +430,7 @@ if ($id > 0 || ! empty($ref))
 				if ($user->rights->projet->creer)
 				{
 					print '&nbsp;';
-					print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=deleteline&amp;lineid='.$tab[$i]['rowid'].'">';
+					print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&action=deleteline&lineid='.$tab[$i]['rowid'].($withproject?'&withproject=1':'').'">';
 					print img_delete();
 					print '</a>';
 				}
@@ -449,5 +451,6 @@ if ($id > 0 || ! empty($ref))
 
 
 llxFooter();
+
 $db->close();
 ?>
diff --git a/htdocs/projet/tasks/document.php b/htdocs/projet/tasks/document.php
index 37856acec080035f02476e1ae915a224679fe865..f70fd9f135c049735cb985de0b3eb682f7d6861c 100644
--- a/htdocs/projet/tasks/document.php
+++ b/htdocs/projet/tasks/document.php
@@ -67,9 +67,9 @@ if ($id > 0 || ! empty($ref))
 	if ($object->fetch($id,$ref) > 0)
 	{
 		$projectstatic->fetch($object->fk_project);
-		
+
 		if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
-		
+
 		$upload_dir = $conf->projet->dir_output.'/'.dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref);
 	}
 	else
@@ -135,7 +135,8 @@ if (! empty($project_ref) && ! empty($withproject))
 		}
 		else
 		{
-			Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.(empty($mode)?'':'&mode='.$mode));
+			Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject?'&withproject=1':'').(empty($mode)?'':'&mode='.$mode));
+			exit;
 		}
 	}
 }
@@ -152,20 +153,20 @@ llxHeader('',$langs->trans('Project'));
 if ($object->id > 0)
 {
 	if (! empty($projectstatic->socid)) $projectstatic->societe->fetch($projectstatic->socid);
-	
+
 	$userWrite  = $projectstatic->restrictedProjectArea($user,'write');
-	
+
 	if (! empty($withproject))
 	{
 		// Tabs for project
 		$tab='tasks';
 		$head=project_prepare_head($projectstatic);
 		dol_fiche_head($head, $tab, $langs->trans("Project"),0,($projectstatic->public?'projectpub':'project'));
-	
+
 		$param=($mode=='mine'?'&mode=mine':'');
-	
+
 		print '<table class="border" width="100%">';
-	
+
 		// Ref
 		print '<tr><td width="30%">';
 		print $langs->trans("Ref");
@@ -178,37 +179,37 @@ if ($object->id > 0)
 		}
 		print $form->showrefnav($projectstatic,'project_ref','',1,'ref','ref','',$param.'&withproject=1');
 		print '</td></tr>';
-	
+
 		print '<tr><td>'.$langs->trans("Label").'</td><td>'.$projectstatic->title.'</td></tr>';
-	
+
 		print '<tr><td>'.$langs->trans("Company").'</td><td>';
 		if (! empty($projectstatic->societe->id)) print $projectstatic->societe->getNomUrl(1);
 		else print '&nbsp;';
 		print '</td>';
 		print '</tr>';
-	
+
 		// Visibility
 		print '<tr><td>'.$langs->trans("Visibility").'</td><td>';
 		if ($projectstatic->public) print $langs->trans('SharedProject');
 		else print $langs->trans('PrivateProject');
 		print '</td></tr>';
-	
+
 		// Statut
 		print '<tr><td>'.$langs->trans("Status").'</td><td>'.$projectstatic->getLibStatut(4).'</td></tr>';
-	
+
 		print '</table>';
-	
+
 		dol_fiche_end();
-	
+
 		print '<br>';
 	}
-	
+
 	$head = task_prepare_head($object);
 	dol_fiche_head($head, 'task_document', $langs->trans("Task"), 0, 'projecttask');
-	
+
 	$param=(GETPOST('withproject')?'&withproject=1':'');
 	$linkback=GETPOST('withproject')?'<a href="'.DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.'">'.$langs->trans("BackToList").'</a>':'';
-	
+
 	// Files list constructor
 	$filearray=dol_dir_list($upload_dir,"files",0,'','\.meta$',$sortfield,(strtolower($sortorder)=='desc'?SORT_DESC:SORT_ASC),1);
 	$totalsize=0;
@@ -216,9 +217,9 @@ if ($object->id > 0)
 	{
 		$totalsize+=$file['size'];
 	}
-	
+
 	print '<table class="border" width="100%">';
-	
+
 	// Ref
 	print '<tr><td width="30%">';
 	print $langs->trans("Ref");
@@ -232,42 +233,42 @@ if ($object->id > 0)
 	print $form->showrefnav($object,'id',$linkback,1,'rowid','ref','',$param);
 	print '</td>';
 	print '</tr>';
-	
+
 	// Label
 	print '<tr><td>'.$langs->trans("Label").'</td><td colspan="3">'.$object->label.'</td></tr>';
-	
+
 	// Project
 	if (empty($withproject))
 	{
 		print '<tr><td>'.$langs->trans("Project").'</td><td colspan="3">';
 		print $projectstatic->getNomUrl(1);
 		print '</td></tr>';
-	
+
 		// Third party
 		print '<td>'.$langs->trans("Company").'</td><td colspan="3">';
 		if ($projectstatic->societe->id) print $projectstatic->societe->getNomUrl(1);
 		else print '&nbsp;';
 		print '</td></tr>';
 	}
-	
+
 	// Files infos
 	print '<tr><td>'.$langs->trans("NbOfAttachedFiles").'</td><td colspan="3">'.count($filearray).'</td></tr>';
 	print '<tr><td>'.$langs->trans("TotalSizeOfAttachedFiles").'</td><td colspan="3">'.$totalsize.' '.$langs->trans("bytes").'</td></tr>';
-	
+
 	print "</table>\n";
-	
+
 	dol_fiche_end();
-	
+
 	print '<br>';
-	
+
 	dol_htmloutput_mesg($mesg);
-	
-	
+
+
 	// Affiche formulaire upload
 	$formfile=new FormFile($db);
-	$formfile->form_attach_new_file(DOL_URL_ROOT.'/projet/tasks/document.php?id='.$object->id,'',0,0,$user->rights->projet->creer);
-	
-	
+	$formfile->form_attach_new_file(DOL_URL_ROOT.'/projet/tasks/document.php?id='.$object->id.($withproject?'&withproject=1':''),'',0,0,$user->rights->projet->creer);
+
+
 	// List of document
 	$param='&id='.$object->id;
 	$formfile->list_of_documents($filearray,$object,'projet',$param,0,dol_sanitizeFileName($projectstatic->ref).'/'.dol_sanitizeFileName($object->ref).'/');
@@ -280,5 +281,6 @@ else
 
 
 llxFooter();
+
 $db->close();
 ?>
diff --git a/htdocs/projet/tasks/time.php b/htdocs/projet/tasks/time.php
index d6d592d21f82531da97fe0814ac9914f225b7111..2e0d8b6698429c3e34f2abd325212591c3aad3e2 100644
--- a/htdocs/projet/tasks/time.php
+++ b/htdocs/projet/tasks/time.php
@@ -51,6 +51,7 @@ $projectstatic = new Project($db);
 /*
  * Actions
  */
+
 if ($action == 'addtimespent' && $user->rights->projet->creer)
 {
 	$error=0;
@@ -155,7 +156,8 @@ if (! empty($project_ref) && ! empty($withproject))
 		}
 		else
 		{
-			Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.(empty($mode)?'':'&mode='.$mode));
+			Header("Location: ".DOL_URL_ROOT.'/projet/tasks.php?id='.$projectstatic->id.($withproject?'&withproject=1':'').(empty($mode)?'':'&mode='.$mode));
+			exit;
 		}
 	}
 }
@@ -236,7 +238,7 @@ if ($id > 0 || ! empty($ref))
 
 		if ($action == 'deleteline')
 		{
-			$ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id.'&lineid='.$_GET["lineid"],$langs->trans("DeleteATimeSpent"),$langs->trans("ConfirmDeleteATimeSpent"),"confirm_delete",'','',1);
+			$ret=$form->form_confirm($_SERVER["PHP_SELF"]."?id=".$object->id.'&lineid='.$_GET["lineid"].($withproject?'&withproject=1':''),$langs->trans("DeleteATimeSpent"),$langs->trans("ConfirmDeleteATimeSpent"),"confirm_delete",'','',1);
 			if ($ret == 'html') print '<br>';
 		}
 
@@ -291,6 +293,7 @@ if ($id > 0 || ! empty($ref))
 			print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
 			print '<input type="hidden" name="action" value="addtimespent">';
 			print '<input type="hidden" name="id" value="'.$object->id.'">';
+			print '<input type="hidden" name="withproject" value="'.$withproject.'">';
 
 			print '<table class="noborder" width="100%">';
 
@@ -451,12 +454,12 @@ if ($id > 0 || ! empty($ref))
   		    else if ($user->rights->projet->creer)
 			{
 				print '&nbsp;';
-				print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=editline&amp;lineid='.$task_time->rowid.'">';
+				print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=editline&amp;lineid='.$task_time->rowid.($withproject?'&amp;withproject=1':'').'">';
 				print img_edit();
 				print '</a>';
 
 				print '&nbsp;';
-				print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=deleteline&amp;lineid='.$task_time->rowid.'">';
+				print '<a href="'.$_SERVER["PHP_SELF"].'?id='.$object->id.'&amp;action=deleteline&amp;lineid='.$task_time->rowid.($withproject?'&amp;withproject=1':'').'">';
 				print img_delete();
 				print '</a>';
 			}