diff --git a/htdocs/product/class/product.class.php b/htdocs/product/class/product.class.php
index 789945d1d964b28695a12ce146fb967daabb9741..72c82c34348823155e52b9452a24c25e80715caa 100644
--- a/htdocs/product/class/product.class.php
+++ b/htdocs/product/class/product.class.php
@@ -138,7 +138,7 @@ class Product extends CommonObject
 
 	//! Contains detail of stock of product into each warehouse
 	var $stock_warehouse=array();
-	
+
 	var $oldcopy;
 
 
@@ -405,7 +405,7 @@ class Product extends CommonObject
 		global $langs, $conf;
 
 		$error=0;
-		
+
 		$this->db->begin();
 
 		// Verification parametres
@@ -508,7 +508,7 @@ class Product extends CommonObject
 				if ($result < 0) { $error++; $this->errors=$interface->errors; }
 				// Fin appel triggers
 			}
-			
+
 			if (! $error && (is_object($this->oldcopy) && $this->oldcopy->ref != $this->ref))
 			{
 				// We remove directory
@@ -527,7 +527,7 @@ class Product extends CommonObject
 					}
 				}
 			}
-			
+
 			if (! $error)
 			{
 				$this->db->commit();
@@ -618,7 +618,7 @@ class Product extends CommonObject
     				    dol_syslog(get_class($this).'::delete error '.$this->error, LOG_ERR);
     				}
                 }
-                
+
                 if (! $error)
                 {
                 	// We remove directory
@@ -2405,9 +2405,12 @@ class Product extends CommonObject
 	{
 		$this->stock_reel = 0;
 
-		$sql = "SELECT reel, fk_entrepot, pmp";
-		$sql.= " FROM ".MAIN_DB_PREFIX."product_stock";
-		$sql.= " WHERE fk_product = '".$this->id."'";
+		$sql = "SELECT ps.reel, ps.fk_entrepot, ps.pmp";
+		$sql.= " FROM ".MAIN_DB_PREFIX."product_stock as ps";
+		$sql.= ", ".MAIN_DB_PREFIX."entrepot as w";
+		$sql.= " WHERE w.entity = (".getEntity('warehouse', 1).")";
+		$sql.= " AND w.rowid = ps.fk_entrepot";
+		$sql.= " AND ps.fk_product = ".$this->id;
 
 		dol_syslog(get_class($this)."::load_stock sql=".$sql);
 		$result = $this->db->query($sql);
diff --git a/htdocs/product/stock/class/entrepot.class.php b/htdocs/product/stock/class/entrepot.class.php
index ca670fcba2a038cd2fbe967f5413e13ef2db2abb..c15d484aba8df89d5f5ea78a6e32036263929bef 100644
--- a/htdocs/product/stock/class/entrepot.class.php
+++ b/htdocs/product/stock/class/entrepot.class.php
@@ -76,6 +76,8 @@ class Entrepot extends CommonObject
 	 */
 	function create($user)
 	{
+		global $conf;
+
 		// Si libelle non defini, erreur
 		if ($this->libelle == '')
 		{
@@ -87,8 +89,8 @@ class Entrepot extends CommonObject
 
 		$this->db->begin();
 
-		$sql = "INSERT INTO ".MAIN_DB_PREFIX."entrepot (datec, fk_user_author, label)";
-		$sql .= " VALUES ('".$this->db->idate($now)."',".$user->id.",'".$this->db->escape($this->libelle)."')";
+		$sql = "INSERT INTO ".MAIN_DB_PREFIX."entrepot (entity, datec, fk_user_author, label)";
+		$sql .= " VALUES (".$conf->entity.",'".$this->db->idate($now)."',".$user->id.",'".$this->db->escape($this->libelle)."')";
 
 		dol_syslog(get_class($this)."::create sql=".$sql);
 		$result=$this->db->query($sql);
@@ -99,7 +101,7 @@ class Entrepot extends CommonObject
 			{
 				$this->id = $id;
 
-				if ( $this->update($id, $user) > 0)
+				if ($this->update($id, $user) > 0)
 				{
 					$this->db->commit();
 					return $id;
@@ -184,7 +186,6 @@ class Entrepot extends CommonObject
 	 */
 	function delete($user)
 	{
-
 		$this->db->begin();
 
 		$sql = "DELETE FROM ".MAIN_DB_PREFIX."stock_mouvement";
@@ -338,7 +339,8 @@ class Entrepot extends CommonObject
 
 		$sql = "SELECT rowid, label";
 		$sql.= " FROM ".MAIN_DB_PREFIX."entrepot";
-		$sql.= " WHERE statut = ".$status;
+		$sql.= " WHERE entity IN (".getEntity('warehouse', 1).")";
+		$sql.= " AND statut = ".$status;
 
 		$result = $this->db->query($sql);
 		$i = 0;
@@ -363,13 +365,13 @@ class Entrepot extends CommonObject
 	 */
 	function nb_products()
 	{
-		global $conf,$user;
-
 		$ret=array();
 
 		$sql = "SELECT sum(ps.reel) as nb, sum(ps.reel * ps.pmp) as value";
-		$sql .= " FROM ".MAIN_DB_PREFIX."product_stock as ps, ".MAIN_DB_PREFIX."product as p";
-		$sql .= " WHERE ps.fk_entrepot = ".$this->id." AND ps.fk_product=p.rowid";
+		$sql.= " FROM ".MAIN_DB_PREFIX."product_stock as ps";
+		$sql.= ", ".MAIN_DB_PREFIX."product as p";
+		$sql.= " WHERE ps.fk_entrepot = ".$this->id;
+		$sql.= " AND ps.fk_product = p.rowid";
 
 		//print $sql;
 		$result = $this->db->query($sql);
diff --git a/htdocs/product/stock/product.php b/htdocs/product/stock/product.php
index 3410eec67c33ff0caa5c5a8b5906953f1598ab6c..a3cdf0f7dc9a5f49dda3d742d060c5b540497152 100644
--- a/htdocs/product/stock/product.php
+++ b/htdocs/product/stock/product.php
@@ -44,7 +44,7 @@ $id = GETPOST('id')?GETPOST('id'):GETPOST('ref');
 $ref = GETPOST('ref');
 $fieldid = isset($_GET["ref"])?'ref':'rowid';
 if ($user->societe_id) $socid=$user->societe_id;
-$result=restrictedArea($user,'produit&stock',$id,'product','','',$fieldid);
+$result=restrictedArea($user,'produit&stock',$id,'product&product','','',$fieldid);
 
 $mesg = '';
 
@@ -217,6 +217,7 @@ if ($_GET["id"] || $_GET["ref"])
         print '</tr>';
 
         // Real stock
+        $product->load_stock();
 		print '<tr><td>'.$langs->trans("PhysicalStock").'</td>';
 		print '<td>'.$product->stock_reel;
 		if ($product->seuil_stock_alerte && ($product->stock_reel < $product->seuil_stock_alerte)) print ' '.img_warning($langs->trans("StockTooLow"));