diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml
index d62b366d92ab34ba2de55998e3e16b51a28311e1..69c25fc63c10515bd52731a5adc7c98a1e04a371 100644
--- a/bitbucket-pipelines.yml
+++ b/bitbucket-pipelines.yml
@@ -13,9 +13,12 @@ pipelines:
         script:
           # Branch dependencies (ex-gerrit topic)
           - git archive --remote=ssh://git@bitbucket.org/hbpneurorobotics/admin-scripts.git refs/heads/master nrp_branch_topic_checkout | tar xf -
-          - . ./nrp_branch_topic_checkout admin-scripts user-scripts ExDBackend ExperimentControl CLE Experiments Models
+          - . ./nrp_branch_topic_checkout admin-scripts user-scripts ExDBackend ExperimentControl CLE Experiments Models GazeboRosPackages
           - cd $BITBUCKET_CLONE_DIR
 
+          # This plan depends on GazeboRosPackages being built
+          - pushd $HBP/GazeboRosPackages && rm -rf build devel && catkin_make && popd && cd $BITBUCKET_CLONE_DIR
+
           # Configure build has to be placed before make devinstall
           - export VIRTUAL_ENV_PATH=$VIRTUAL_ENV
           - export NRP_INSTALL_MODE=dev
diff --git a/hbp_nrp_distributed_nest/hbp_nrp_distributed_nest/cle/DistributedPyNNControlAdapter.py b/hbp_nrp_distributed_nest/hbp_nrp_distributed_nest/cle/DistributedPyNNControlAdapter.py
index 9114b55c1a15c2be57f48f42dee932bc3e99f898..aca198aafced6e0a40b6ad54ca53dafd1a9a9e07 100644
--- a/hbp_nrp_distributed_nest/hbp_nrp_distributed_nest/cle/DistributedPyNNControlAdapter.py
+++ b/hbp_nrp_distributed_nest/hbp_nrp_distributed_nest/cle/DistributedPyNNControlAdapter.py
@@ -37,7 +37,7 @@ class DistributedPyNNControlAdapter(PyNNControlAdapter):
     simulation steps.
     """
 
-    def load_brain(self, network_file, **populations):
+    def load_brain(self, network_file, populations):
         """
         Notify all remote brain processes to load the brain with population definitions
         specified.
@@ -59,7 +59,7 @@ class DistributedPyNNControlAdapter(PyNNControlAdapter):
 
         # run the actual brain load on this process
         super(DistributedPyNNControlAdapter, self).load_brain(network_file)
-        super(DistributedPyNNControlAdapter, self).load_populations(**populations)
+        super(DistributedPyNNControlAdapter, self).load_populations(populations)
 
     def run_step(self, dt):
         """
diff --git a/hbp_nrp_distributed_nest/hbp_nrp_distributed_nest/launch/NestBrainProcess.py b/hbp_nrp_distributed_nest/hbp_nrp_distributed_nest/launch/NestBrainProcess.py
index 83692132baac19ca8a644a18861428e1892ba17b..38efbecc85bcbd71aad86d222d35f59b6919b788 100644
--- a/hbp_nrp_distributed_nest/hbp_nrp_distributed_nest/launch/NestBrainProcess.py
+++ b/hbp_nrp_distributed_nest/hbp_nrp_distributed_nest/launch/NestBrainProcess.py
@@ -71,7 +71,7 @@ class NestBrainProcess(object):
         self._brain_controller = PyNNControlAdapter(sim)
         self._brain_controller.initialize()
         self._brain_controller.load_brain(sim_config.brain_model.resource_path.abs_path)
-        self._brain_controller.load_populations(**sim_config.get_populations_dict())
+        self._brain_controller.load_populations(sim_config.get_populations_dict())
 
         # spawn the communication adapter for use as needed
         self._brain_communicator = PyNNNestCommunicationAdapter()
@@ -281,7 +281,7 @@ class NestBrainProcess(object):
             # discard any previously loaded brain and load the new spec
             self._brain_controller.shutdown()
             self._brain_controller.load_brain(params['file'])
-            self._brain_controller.load_populations(**params['populations'])
+            self._brain_controller.load_populations(params['populations'])
 
             # reinitialize the communication adapter to connect to the "new" brain
             self._brain_communicator.shutdown()