diff --git a/bam/baseconfig.py b/bam/baseconfig.py
index 3fa511b5c47156780540fba071179b1ef09bc749..155079fa226533c0b56e223f7c715a3f676ca780 100644
--- a/bam/baseconfig.py
+++ b/bam/baseconfig.py
@@ -32,6 +32,8 @@ MOTOR_AVAILABLE = [None, None, None, None]
 # Settings which are filled by the accelerator-specific files
 #
 
+MOTOR_AVAILABLE = dict()
+
 TOROID_LOCATION = dict()
 
 MLO_DEVICE = dict()
diff --git a/bam/settings/00-FLASH.py b/bam/settings/00-FLASH.py
index 2e4a2df4d4b0fedcdacd200727460f70016c8813..520966c552b2625f931cbf261ced869cad9fa0a5 100644
--- a/bam/settings/00-FLASH.py
+++ b/bam/settings/00-FLASH.py
@@ -5,7 +5,15 @@ if ACCELERATOR == 'FLASH':
         MOTOR_DEVNO='unis6'
     STORE_RATE = 360
     RING_BUFFER = 1000000
-    MOTOR_AVAILABLE = [(0,0), (0,1), None, None]
+
+MOTOR_AVAILABLE.update({
+    '1UBC2'    : [(0,0), (0,1), None, None],
+    '3DBC2'    : [(0,0), (0,1), None, None],
+    '4DBC3'    : [(0,0), (0,1), None, None],
+    '1SFELC'   : [(0,1), None, None, None],
+    '8FL2XTDS' : [(0,1), (0,1), None, None],
+    '7FLFMAFF' : [(0,1), None, (0,1), None]
+})
 
 TOROID_LOCATION.update({
     '1UBC2'    : '3GUN',
diff --git a/bam/settings/00-XFEL.py b/bam/settings/00-XFEL.py
index 81b8885638a2a9adc52db2f4cd10adeac8973834..a6e11552f747c07ec76e337602c2e28587bbb2f9 100644
--- a/bam/settings/00-XFEL.py
+++ b/bam/settings/00-XFEL.py
@@ -1,8 +1,15 @@
 if ACCELERATOR == 'XFEL':
     MOTOR_DEVNO='unis8'
-    MOTOR_AVAILABLE = [(0,0), (0,1), None, (1,1)]
-    if STATION == '1932M.TL':
-        MOTOR_AVAILABLE = [(0,0), None, None, None]
+
+MOTOR_AVAILABLE.update({
+    '47.I1'    : [(0,0), (0,1), None, None],
+    '181.B1'   : [(0,0), None, None, None],
+    '203.B1'   : [(0,0), None, None, None],
+    '392.B2'   : [(0,0), None, None, None],
+    '414.B2'   : [(0,0), (0,1), None, None],
+    '1932M.TL' : [None, (0,0), None, None],
+    '1932S.TL' : [None, (0,0), None, None]
+})
 
 TOROID_LOCATION.update({
     '47.I1'    : 'TORA.46.I1',
diff --git a/bam/settings/20-FLASH.flash2.py b/bam/settings/20-FLASH.flash2.py
index b24b3a0fb13514a8a1745ea60e0315f3a502e453..606d909c71c5363a107e6e124c2647885a3901c3 100644
--- a/bam/settings/20-FLASH.flash2.py
+++ b/bam/settings/20-FLASH.flash2.py
@@ -2,15 +2,12 @@ if ACCELERATOR == 'FLASH':
     if STATION == '1SFELC':
         # FLASH2 uses the second flattop, but it is mapped to the first sample in that toroid
         TOROID_FT['FLASH'] = ['SAMPLE.FLASH1', 'SAMPLE.FLASH1', 'this/allZero']
-        MOTOR_AVAILABLE = [(0,1), None, None, None]
 
     if STATION == '8FL2XTDS':
         # FLASH2 uses the second flattop, but it is mapped to the first sample in that toroid
         TOROID_FT['FLASH'] = ['this/allZero', 'SAMPLE.FLASH2', 'this/allZero']
-        MOTOR_AVAILABLE = [(0,1), (0,1), None, None]
 
     if STATION == '7FLFMAFF':
         # FLASH FORWARD is different again
         TOROID_FT['FLASH'] = ['this/allZero', 'SAMPLE.FLASH2', 'SAMPLE.FLASH3']
-        MOTOR_AVAILABLE = [(0,1), None, None, None]
 
diff --git a/bam/settings/99-XFEL.SURROGATE.py b/bam/settings/99-XFEL.SURROGATE.py
index 7678378ca35c0070c1c5fc6d529329c36e8ef337..ed628ce70c7afe3ba48e3c28fd5207800acc923d 100644
--- a/bam/settings/99-XFEL.SURROGATE.py
+++ b/bam/settings/99-XFEL.SURROGATE.py
@@ -1,5 +1,4 @@
 if ACCELERATOR == "XFEL" and STATION == "1932S.TL":
-  MOTOR_AVAILABLE = [(0,1), None, None, None]
   SVR_LOCATION = HOSTNAME.upper()+"_2._SVR"
   RPC_NUMBER = 610589844
   BAM_DEVNO = 6
diff --git a/bam/templates/bam_motor.conf b/bam/templates/bam_motor.conf
index aa1781982d976bf152079734a95417f802e3efd7..59ea2bcc2ccea79e7889038f50b2ba478a6eaf78 100644
--- a/bam/templates/bam_motor.conf
+++ b/bam/templates/bam_motor.conf
@@ -1,5 +1,5 @@
 ##mako
-%for entry in MOTOR_AVAILABLE:
+%for entry in MOTOR_AVAILABLE[STATION]:
 %if entry is not None:
 MOTOR_DEVICE MD22.${entry[0]} ${entry[1]} motorConfig_2xlimes60_optimal_bam.xml ""
 %else: