#define IS_PORT_STAT(i) \
        ((bnx2x_stats_arr[i].flags & STATS_FLAGS_BOTH) == STATS_FLAGS_PORT)
 #define IS_FUNC_STAT(i)                (bnx2x_stats_arr[i].flags & STATS_FLAGS_FUNC)
-#define IS_MF_MODE_STAT(bp) \
-                       (IS_MF(bp) && !(bp->msg_enable & BNX2X_MSG_STATS))
+#define HIDE_PORT_STAT(bp) \
+               ((IS_MF(bp) && !(bp->msg_enable & BNX2X_MSG_STATS)) || \
+                IS_VF(bp))
 
 /* ethtool statistics are displayed for all regular ethernet queues and the
  * fcoe L2 queue if not disabled
                                      BNX2X_NUM_Q_STATS;
                } else
                        num_strings = 0;
-               if (IS_MF_MODE_STAT(bp)) {
+               if (HIDE_PORT_STAT(bp)) {
                        for (i = 0; i < BNX2X_NUM_STATS; i++)
                                if (IS_FUNC_STAT(i))
                                        num_strings++;
                }
 
                for (i = 0, j = 0; i < BNX2X_NUM_STATS; i++) {
-                       if (IS_MF_MODE_STAT(bp) && IS_PORT_STAT(i))
+                       if (HIDE_PORT_STAT(bp) && IS_PORT_STAT(i))
                                continue;
                        strcpy(buf + (k + j)*ETH_GSTRING_LEN,
                                   bnx2x_stats_arr[i].string);
 
        hw_stats = (u32 *)&bp->eth_stats;
        for (i = 0, j = 0; i < BNX2X_NUM_STATS; i++) {
-               if (IS_MF_MODE_STAT(bp) && IS_PORT_STAT(i))
+               if (HIDE_PORT_STAT(bp) && IS_PORT_STAT(i))
                        continue;
                if (bnx2x_stats_arr[i].size == 0) {
                        /* skip this counter */