diff --git a/src/sm_io/modules/fmc250m_4ch/sm_io_fmc250m_4ch_core.c b/src/sm_io/modules/fmc250m_4ch/sm_io_fmc250m_4ch_core.c
index 43a7c742b36e16085d5841ee5996447efd91be69..5272d66d707bf1b458c0dfe3f41a282d60d1811a 100644
--- a/src/sm_io/modules/fmc250m_4ch/sm_io_fmc250m_4ch_core.c
+++ b/src/sm_io/modules/fmc250m_4ch/sm_io_fmc250m_4ch_core.c
@@ -44,6 +44,7 @@ smio_fmc250m_4ch_t * smio_fmc250m_4ch_new (smio_t *parent)
     smio_fmc250m_4ch_t *self = (smio_fmc250m_4ch_t *) zmalloc (sizeof *self);
     ASSERT_ALLOC(self, err_self_alloc);
     uint32_t inst_id = smio_get_inst_id (parent);
+    uint64_t base = smio_get_base (parent);
 
     /* Check if Instance ID is within our expected limits */
     ASSERT_TEST(inst_id < NUM_FMC250M_4CH_SMIOS, "Number of FMC250M_4CH SMIOs instances exceeded",
@@ -139,13 +140,13 @@ smio_fmc250m_4ch_t * smio_fmc250m_4ch_new (smio_t *parent)
     _smio_fmc250m_4ch_set_type (self, 0x0);
 
     DBE_DEBUG (DBG_SM_IO | DBG_LVL_TRACE, "[sm_io:fmc250m_4ch_core] Registering FMC_ADC_COMMON SMIO\n");
-    smio_register_sm (parent, 0x2403f569, FMC_250M_FMC_ADC_COMMON_OFFS, inst_id);
+    smio_register_sm (parent, 0x2403f569, base | FMC_250M_FMC_ADC_COMMON_OFFS, inst_id);
 
     /* Now, initialize the FMC250M_4CH with the appropriate structures*/
     if (self->type == TYPE_FMC250M_4CH_ACTIVE) {
         DBE_DEBUG (DBG_SM_IO | DBG_LVL_TRACE, "[sm_io:fmc250m_4ch_core] Active Board detected. "
                 "Registering FMC_ADC_ACTIVE SMIO\n");
-        smio_register_sm (parent, 0x88c67d9c, FMC_250M_FMC_ACTIVE_CLK_OFFS, inst_id);
+        smio_register_sm (parent, 0x88c67d9c, base | FMC_250M_FMC_ACTIVE_CLK_OFFS, inst_id);
     }
     else { /* PASSIVE or Unsupported*/
         if (self->type != TYPE_FMC250M_4CH_PASSIVE) {