diff --git a/ports/nrf/drivers/bluetooth/ble_drv.c b/ports/nrf/drivers/bluetooth/ble_drv.c
index f18a571564acafd946bb39da0f3ec91351554a50..be2f6138ee6c731ac1a76cbe9f42d9f81f73cc96 100644
--- a/ports/nrf/drivers/bluetooth/ble_drv.c
+++ b/ports/nrf/drivers/bluetooth/ble_drv.c
@@ -109,7 +109,7 @@ static mp_obj_t mp_gattc_char_data_observer;
 #define BLE_GAP_ADV_MAX_SIZE 31
 #define BLE_DRV_CONN_CONFIG_TAG 1
 
-static uint8_t m_adv_handle;
+static uint8_t m_adv_handle = BLE_GAP_ADV_SET_HANDLE_NOT_SET;
 static uint8_t m_scan_buffer[BLE_GAP_SCAN_BUFFER_MIN];
 
 nrf_nvic_state_t nrf_nvic_state = {0};
@@ -407,7 +407,7 @@ bool ble_drv_advertise_data(ubluepy_advertise_data_t * p_adv_params) {
 
     uint8_t byte_pos = 0;
 
-    uint8_t adv_data[BLE_GAP_ADV_MAX_SIZE];
+    static uint8_t adv_data[BLE_GAP_ADV_MAX_SIZE];
 
     if (p_adv_params->device_name_len > 0) {
         ble_gap_conn_sec_mode_t sec_mode;