diff --git a/services/capability/capability/views/capability_request.py b/services/capability/capability/views/capability_request.py
index 702cbb50b2a515371b537c023f9ac2a7dabdf896..3e8293baae7a3d80c6526fa7194b322cf58f27d9 100644
--- a/services/capability/capability/views/capability_request.py
+++ b/services/capability/capability/views/capability_request.py
@@ -4,7 +4,7 @@
 File containing definitions for the other half of the capability side of the Workspaces REST API,
 concerning capability requests
 """
-
+import json
 from pyramid.httpexceptions import HTTPBadRequest, HTTPNotFound, HTTPPreconditionFailed
 from pyramid.request import Request
 from pyramid.response import Response
@@ -126,19 +126,25 @@ def create_follow_on_capability_request(request: Request) -> Response:
     followon_type = request.matchdict["followon_type"]
 
     capability_request = request.capability_info.lookup_capability_request(request_id)
-    parameters = capability_request.current_execution.parameters
+    parameters = capability_request.current_version.parameters
     user_email = parameters["user_email"]
 
     previous_workflow_id = capability_request.current_execution.current_workflow_request_id
 
-    metadata = request.workflow_service.retrieve_file_content(
+    metadata_content = request.workflow_service.retrieve_file_content(
         followon_type, previous_workflow_id, "metadata.json"
     )
-    cms_path = metadata["cms_path"]
-    sdm_id = metadata["fileSetIds"]
+
+    metadata = json.loads(metadata_content)
+    cms_path = metadata["destinationDirectory"] + "/working"
+    sdm_id = (
+        metadata["fileSetIds"][0]
+        if isinstance(metadata["fileSetIds"], list)
+        else metadata["fileSetIds"]
+    )
 
     new_capability_request = request.capability_service.create_request(
-        followon_type, parameters={"cmsPath": cms_path, "sdmId": sdm_id, "user_email": user_email}
+        followon_type, parameters={"cms_path": cms_path, "sdmId": sdm_id, "user_email": user_email}
     )
     return Response(json_body=new_capability_request.__json__())
 
diff --git a/shared/workspaces/workspaces/workflow/services/workflow_service.py b/shared/workspaces/workspaces/workflow/services/workflow_service.py
index d431f12f3961b472efd96eeb6dbc55b9de3d2285..47bab941d95d1aa281f9b11658d59d8cacf50562 100644
--- a/shared/workspaces/workspaces/workflow/services/workflow_service.py
+++ b/shared/workspaces/workspaces/workflow/services/workflow_service.py
@@ -80,7 +80,10 @@ class WorkflowServiceRESTClient(WorkflowServiceIF):
         :return: dict containing file content
         """
 
-        requests.get(f"{self.url}/workflow/{name}/requests/{request_id}/files/{filename}")
+        response = requests.get(
+            f"{self.url}/workflows/{name}/requests/{request_id}/files/{filename}"
+        )
+        return response.content.decode()
 
     def create_workflow_request(
         self, workflow: Union[str, WorkflowIF], argument: Dict