diff --git a/cpu/sam0_common/periph/adc.c b/cpu/sam0_common/periph/adc.c
index c2c5632ad5b71099395df2196eed3c9c56d6463c..326921fdb9294342956f9f53a9cd91ac72566fb6 100644
--- a/cpu/sam0_common/periph/adc.c
+++ b/cpu/sam0_common/periph/adc.c
@@ -156,6 +156,10 @@ static int _adc_configure(adc_res_t res)
 
 int adc_init(adc_t line)
 {
+    if (line >= ADC_NUMOF) {
+        DEBUG("adc: line arg not applicable\n");
+        return -1;
+    }
     _prep();
     gpio_init(adc_channels[line].pin, GPIO_IN);
     gpio_init_mux(adc_channels[line].pin, GPIO_MUX_B);