diff --git a/htdocs/core/class/html.form.class.php b/htdocs/core/class/html.form.class.php
index 06fd6cc02e8..e6a324a79a3 100644
--- a/htdocs/core/class/html.form.class.php
+++ b/htdocs/core/class/html.form.class.php
@@ -573,15 +573,14 @@ class Form
* Generate select HTML to choose massaction
*
* @param string $selected Value auto selected when at least one record is selected. Not a preselected value. Use '0' by default.
- * @param int $arrayofaction array('code'=>'label', ...). The code is the key stored into the GETPOST('massaction') when submitting action.
+ * @param array $arrayofaction array('code'=>'label', ...). The code is the key stored into the GETPOST('massaction') when submitting action.
* @param int $alwaysvisible 1=select button always visible
- * @return string Select list
+ * @return string|void Select list
*/
function selectMassAction($selected, $arrayofaction, $alwaysvisible=0)
{
global $conf,$langs,$hookmanager;
- if (count($arrayofaction) == 0) return;
$disabled=0;
$ret='
';
@@ -590,6 +589,8 @@ class Form
// Complete list with data from external modules. THe module can use $_SERVER['PHP_SELF'] to know on which page we are, or use the $parameters['currentcontext'] completed by executeHooks.
$parameters=array();
$reshook=$hookmanager->executeHooks('addMoreMassActions',$parameters); // Note that $action and $object may have been modified by hook
+ // check if there is a mass action
+ if (count($arrayofaction) == 0 && empty($hookmanager->resPrint)) return;
if (empty($reshook))
{
$ret.='';
diff --git a/htdocs/product/list.php b/htdocs/product/list.php
index dcf43945ccb..55681eef583 100644
--- a/htdocs/product/list.php
+++ b/htdocs/product/list.php
@@ -424,13 +424,13 @@ if ($resql)
//'presend'=>$langs->trans("SendByMail"),
//'builddoc'=>$langs->trans("PDFMerge"),
);
- if ($user->rights->produit->supprimer) $arrayofmassactions['predelete']=$langs->trans("Delete");
+ $rightskey='produit';
+ if($type == Product::TYPE_SERVICE) $rightskey='service';
+ if ($user->rights->{$rightskey}->supprimer) $arrayofmassactions['predelete']=$langs->trans("Delete");
if (in_array($massaction, array('presend','predelete'))) $arrayofmassactions=array();
$massactionbutton=$form->selectMassAction('', $arrayofmassactions);
$newcardbutton='';
- $rightskey='produit';
- if($type == Product::TYPE_SERVICE) $rightskey='service';
if($user->rights->{$rightskey}->creer)
{
$label='NewProduct';