diff --git a/cpu/native/netdev_tap/netdev_tap.c b/cpu/native/netdev_tap/netdev_tap.c
index 2330e64f4f06acfd467614932c773165a97b401c..e686093a5f255820d842f1bd989945ec140b6d7d 100644
--- a/cpu/native/netdev_tap/netdev_tap.c
+++ b/cpu/native/netdev_tap/netdev_tap.c
@@ -141,9 +141,11 @@ static int _set(netdev_t *dev, netopt_t opt, const void *value, size_t value_len
         case NETOPT_ADDRESS:
             assert(value_len >= ETHERNET_ADDR_LEN);
             _set_mac_addr(dev, (const uint8_t*)value);
+            res = ETHERNET_ADDR_LEN;
             break;
         case NETOPT_PROMISCUOUSMODE:
             _set_promiscous(dev, ((const bool *)value)[0]);
+            res = sizeof(netopt_enable_t);
             break;
         default:
             res = netdev_eth_set(dev, opt, value, value_len);