diff --git a/SAS/QPIDInfrastructure/bin/addtoQPIDDB.py b/SAS/QPIDInfrastructure/bin/addtoQPIDDB.py
index 0d12ef72902e485b4e1eb508412dc1323d95edc7..de5793a340492284d3cc9de0c54014c3f6aed1c6 100755
--- a/SAS/QPIDInfrastructure/bin/addtoQPIDDB.py
+++ b/SAS/QPIDInfrastructure/bin/addtoQPIDDB.py
@@ -14,6 +14,7 @@ if __name__ == '__main__':
     parser.add_option('-q', '--queue', dest='queue', type='string', default=None, help='Name of the queue on the broker')
     parser.add_option('-e', '--exchange', dest='exchange', type='string', default=None, help='Name of the exchange on the broker')
     parser.add_option('-k', '--routingkey', dest='routingkey', type='string', default='#', help='Federation routing key')
+    parser.add_option('-d', '--dynamic', dest='dynamic', action="store_true", default=False, help='Create a dynamic route')
     parser.add_option_group(dbcredentials.options_group(parser, "qpidinfra"))
 
     (options, args) = parser.parse_args()
@@ -55,7 +56,7 @@ if __name__ == '__main__':
 	    if (options.exchange):
 	        QPIDinfra.addexchange(options.exchange) # should be superfluous
 	        QPIDinfra.bindexchangetohost(options.exchange,options.federation)
-	        QPIDinfra.setexchangeroute(options.exchange,options.routingkey,options.broker,options.federation)
+	        QPIDinfra.setexchangeroute(options.exchange,options.routingkey,options.broker,options.federation,dynamic=options.dynamic)
 	    else:
 		raise Exception("federation can only be setup with a queue or an exchange")
 
diff --git a/SAS/QPIDInfrastructure/bin/configQPIDfromDB.py b/SAS/QPIDInfrastructure/bin/configQPIDfromDB.py
index 38d1ffbc8d9bf7b6e6e236470295491ea2446992..4d4631b7a8ac655c4215aad7b655ecc066f2dc3e 100755
--- a/SAS/QPIDInfrastructure/bin/configQPIDfromDB.py
+++ b/SAS/QPIDInfrastructure/bin/configQPIDfromDB.py
@@ -10,8 +10,11 @@ def qpidconfig_add_topic(settings):
     print ("qpid-config -b %s add exchange topic %s --durable" %(settings['hostname'],settings['exchangename']))
 
 def qpidroute_add(settings):
+    cmd = "dynamic" if settings['dynamic'] else "route"
+
     print ("qpid-route -d route del %s %s %s \'%s\' " %(settings['tohost'],settings['fromhost'],settings['exchangename'],settings['routingkey']))
-    print ("qpid-route -d route add %s %s %s \'%s\' " %(settings['tohost'],settings['fromhost'],settings['exchangename'],settings['routingkey']))
+    print ("qpid-route -d dynamic del %s %s %s \'%s\' " %(settings['tohost'],settings['fromhost'],settings['exchangename'],settings['routingkey']))
+    print ("qpid-route -d %s add %s %s %s \'%s\' " %(cmd,settings['tohost'],settings['fromhost'],settings['exchangename'],settings['routingkey']))
 
 def qpidQroute_add(settings):
     print ("qpid-route -d queue del %s %s '%s' '%s'" %(settings['tohost'],settings['fromhost'],settings['exchangename'],settings['queuename']))
diff --git a/SAS/QPIDInfrastructure/bin/populateDB.sh b/SAS/QPIDInfrastructure/bin/populateDB.sh
index e24f0454a77b5f85956535909f54670c0fb53547..c78f147dcbb6c23f6b678b9a4a088fd1474d5a46 100755
--- a/SAS/QPIDInfrastructure/bin/populateDB.sh
+++ b/SAS/QPIDInfrastructure/bin/populateDB.sh
@@ -148,14 +148,16 @@ addtoQPIDDB.py --broker $SCU --exchange ${PREFIX}lofar.otdb.notification
 addtoQPIDDB.py --broker $SCU --exchange ${PREFIX}lofar.ssdb.command
 addtoQPIDDB.py --broker $SCU --exchange ${PREFIX}lofar.ssdb.notification
 
-# TODO: messages will end up at $SCU twice?
-for tnode in head{01..02}.cep4
+# TODO: HA
+for tnode in head01.cep4
 do
   for fnode in cpu{01..50}.cep4
   do
-    addtoQPIDDB.py --broker $fnode --exchange ${PREFIX}lofar.otdb.command --federation $tnode
+    addtoQPIDDB.py --dynamic --broker $fnode --exchange ${PREFIX}lofar.otdb.command --federation $tnode
+    addtoQPIDDB.py --dynamic --broker $tnode --exchange ${PREFIX}lofar.otdb.command --federation $fnode
   done
 
-  addtoQPIDDB.py --broker $tnode --exchange ${PREFIX}lofar.otdb.command --federation $SCU
+  addtoQPIDDB.py --dynamic --broker $tnode --exchange ${PREFIX}lofar.otdb.command --federation $SCU
+  addtoQPIDDB.py --dynamic --broker $SCU   --exchange ${PREFIX}lofar.otdb.command --federation $tnode
 done