diff --git a/apps/web/src/app/workspaces/services/capability-request.service.ts b/apps/web/src/app/workspaces/services/capability-request.service.ts
index e59f035d1b804fd41d671cb0fe170072b438e234..b9400abf481b8a596ef3dea1f2831d4b74e0f8ae 100644
--- a/apps/web/src/app/workspaces/services/capability-request.service.ts
+++ b/apps/web/src/app/workspaces/services/capability-request.service.ts
@@ -113,8 +113,7 @@ export class CapabilityRequestService {
   }
 
   /**
-   * Add file to latest version of capability request
-   *
+   * Add file to selected capability request version
    * @param requestId  ID of request whose latest version will receive the file
    * @param filename  Name of file
    * @param content  Content of file
diff --git a/services/capability/capability/views/capability_request.py b/services/capability/capability/views/capability_request.py
index 3a7cf0454d3ad8f478d2c70ead777fba5ea7d19e..e59e74d62e3cc43b07d8b78a74dafe9564fdde8e 100644
--- a/services/capability/capability/views/capability_request.py
+++ b/services/capability/capability/views/capability_request.py
@@ -21,6 +21,8 @@
 File containing definitions for the other half of the capability side of the Workspaces REST API,
 concerning capability requests
 """
+# pylint: disable=E0401
+
 import json
 
 from capability.views.capability_version import submit_capability_version
@@ -127,31 +129,40 @@ def create_follow_on_capability_request(request: Request) -> Response:
     URL: capability/request/{request_id}/followon/{followon_type}
 
     :param request: POST request
+    :param version: version of the request for which we want to create a follow-on request
     :return: 200 OK response with JSON-formatted info of newly created capability request
         or 400 response (HTTPBadRequest) if expected parameters not given
         or 412 response (HTTPPreconditionFailed) if capability with given name does not exist and thus cannot be
         requested
     """
 
-    request_id = request.matchdict["request_id"]
     followon_type = request.matchdict["followon_type"]
+    request_id = request.matchdict["request_id"]
+    capability_info = request.capability_info
+    capability_request = capability_info.lookup_capability_request(request_id)
 
-    capability_request = request.capability_info.lookup_capability_request(request_id)
-    parameters = capability_request.current_version.parameters
+    current_version = capability_request.current_version
+    parameters = current_version.parameters
     user_email = parameters["user_email"]
+    version_number = request.matchdict["version"]
 
-    previous_workflow_id = capability_request.current_execution.current_workflow_request_id
-
+    previous_workflow_id = current_version.current_execution.current_workflow_request_id
     metadata_content = request.workflow_service.retrieve_file_content(
         followon_type, previous_workflow_id, "metadata.json"
     )
-
     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_info.create_capability_request(
-        followon_type, parameters={"cms_path": cms_path, "sdmId": sdm_id, "user_email": user_email}
+        followon_type=followon_type,
+        parameters={
+            "user_email": user_email,
+            "version": version_number,
+            "previous_workflow_request_id": previous_workflow_id,
+            "sdm_id": sdm_id,
+            "cms_path": cms_path,
+        },
     )
     return Response(json_body=new_capability_request.__json__())
 
@@ -172,6 +183,12 @@ def edit_capability_request(request: Request) -> Response:
 
 @view_config(route_name="create_and_submit_capability_request", renderer="json")
 def create_and_submit_capability_request(request: Request) -> Response:
+    """
+    Pyramid view to create and submit a capability request
+
+    :param request: dummy POST request
+    :return:
+    """
     response = create_capability_request(request)
     capability_request = request.capability_info.lookup_capability_request(response.json_body["id"])
     request.matchdict = {