diff --git a/drivers/xbee/xbee.c b/drivers/xbee/xbee.c
index 4e78c2fa0827c3d05445f25416f7f5643b0fd372..b0ae0f10331b2a8a8caa2a20e41c508942ba6295 100644
--- a/drivers/xbee/xbee.c
+++ b/drivers/xbee/xbee.c
@@ -329,6 +329,17 @@ static int _set_channel(xbee_t *dev, uint8_t *val, size_t len)
     return -EINVAL;
 }
 
+static int _get_max_packet_size(xbee_t *dev, uint16_t *val, size_t max)
+{
+    if (max < 2) {
+        return -EOVERFLOW;
+    }
+
+    *val = XBEE_MAX_PAYLOAD_LENGTH;
+
+    return 2;
+}
+
 static int _get_panid(xbee_t *dev, uint8_t *val, size_t max)
 {
     uint8_t cmd[2];
@@ -611,6 +622,8 @@ static int _get(ng_netdev_t *netdev, ng_netconf_opt_t opt,
             return _get_addr_long(dev, (uint8_t *)value, max_len);
         case NETCONF_OPT_CHANNEL:
             return _get_channel(dev, (uint8_t *)value, max_len);
+        case NETCONF_OPT_MAX_PACKET_SIZE:
+            return _get_max_packet_size(dev, (uint16_t *)value, max_len);
         case NETCONF_OPT_NID:
             return _get_panid(dev, (uint8_t *)value, max_len);
         case NETCONF_OPT_PROTO: