diff --git a/src/adc_dma.c b/src/adc_dma.c
index f26af0a005ee25ddbe30af8220d2335ba6b506a6..f3bb3dc447e1988992781fd897f3a1da5810eb52 100755
--- a/src/adc_dma.c
+++ b/src/adc_dma.c
@@ -320,7 +320,7 @@ uint8_t adc_init(TMemory *memory,TScheduler *scheduler,unsigned short int eeprom
 
 void adc_start(void)
 {
-  if((darwin_adc.memory->data[ADC_CONTROL_OFFSET]&ADC_RUNNING)==0x00)
+  if((darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CONTROL_OFFSET]&ADC_RUNNING)==0x00)
   {
     darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CONTROL_OFFSET]|=ADC_RUNNING;
     scheduler_enable_channel(darwin_adc.scheduler,SCHED_CH1);
@@ -329,7 +329,7 @@ void adc_start(void)
 
 void adc_stop(void)
 {
-  if(darwin_adc.memory->data[ADC_CONTROL_OFFSET]&ADC_RUNNING)
+  if(darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CONTROL_OFFSET]&ADC_RUNNING)
   {
     darwin_adc.memory->data[darwin_adc.ram_base_address+ADC_CONTROL_OFFSET]&=(~ADC_RUNNING);
     scheduler_disable_channel(darwin_adc.scheduler,SCHED_CH1);