diff --git a/apps/cli/executables/pexable/carta_envoy/carta_envoy/carta.py b/apps/cli/executables/pexable/carta_envoy/carta_envoy/carta.py
index 77da18ada5be0fc3f163264fd82f67950a69d77c..51c7a66e3d0e08141e2adff63cd02ef06c05ead8 100644
--- a/apps/cli/executables/pexable/carta_envoy/carta_envoy/carta.py
+++ b/apps/cli/executables/pexable/carta_envoy/carta_envoy/carta.py
@@ -68,28 +68,6 @@ def ensure_non_relative_path(location: str) -> Path:
     return Path(location)
 
 
-def scaffold(settings: dict):
-    if settings["single_image"]:
-        directory = settings["data_location"] / settings["image_name"]
-        logger.info(f"Current working directory: {os.getcwd()}")
-        if Path(directory).exists() and Path(directory / settings["image_name"]).is_file():
-            logger.info("Image file already exists! Proceeding...")
-            os.chdir(directory)
-            logger.info(f"Working directory is now {os.getcwd()}")
-            return
-        else:
-            logger.info(
-                "Image file not found. Product Fetch may still be in progress. Scaffolding structure for carta..."
-            )
-            os.mkdir(settings["image_name"])
-            os.chdir(directory)
-            os.chmod(os.getcwd(), 0o770)
-            # logger.info(f"Working directory is now {os.getcwd()}")
-            Path(directory / settings["image_name"]).touch()
-            os.chmod(Path(directory / settings["image_name"]), 0o770)
-            os.chdir(settings["data_location"])
-
-
 def ensure_correct_directory(settings: dict):
     directory = settings["data_location"]
     logger.info(f"Current working directory: {os.getcwd()}")
@@ -190,9 +168,7 @@ def main():
         settings["image_name"] = args.image[0]
     if args.single:
         settings["single_image"] = True
-    if args.parallel:
-        scaffold(settings)
-    else:
+    if not args.parallel:
         ensure_correct_directory(settings)
 
     carta = CartaLauncher(settings)
diff --git a/schema/versions/01de4f42cf27_fix_single_image_carta.py b/schema/versions/01de4f42cf27_fix_single_image_carta.py
new file mode 100644
index 0000000000000000000000000000000000000000..8d71038b34dc68e58b9f14ea46b603d85a091f26
--- /dev/null
+++ b/schema/versions/01de4f42cf27_fix_single_image_carta.py
@@ -0,0 +1,64 @@
+"""fix single image carta
+
+Revision ID: 01de4f42cf27
+Revises: b3667e00ef4a
+Create Date: 2021-09-13 11:39:00.808773
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = "01de4f42cf27"
+down_revision = "b3667e00ef4a"
+branch_labels = None
+depends_on = None
+
+script_content = """#!/bin/sh
+set -o errexit
+
+export HOME=$TMPDIR
+
+{{#need_data}}
+./framework.sh -r .
+chmod 770 .
+cd rawdata/
+../productfetcher{{product_locator}} {{^single_image}}&{{/single_image}}
+.{{/need_data}}./carta_envoy {{#need_data}}--parallel{{/need_data}} {{#single_image}}--single -i {{imageName}}{{/single_image}} -d $1 -n $2 -wf $3 -r $4
+{{#need_data}}wait{{/need_data}}
+
+"""
+
+old_content = """#!/bin/sh
+set -o errexit
+
+export HOME=$TMPDIR
+
+{{#need_data}}
+./framework.sh -r .
+chmod 770 .
+cd rawdata/
+../productfetcher{{product_locator}} &
+.{{/need_data}}./carta_envoy {{#need_data}}--parallel{{/need_data}} {{#single_image}}--single -i {{imageName}}{{/single_image}} -d $1 -n $2 -wf $3 -r $4
+{{#need_data}}wait{{/need_data}}
+
+"""
+
+
+def upgrade():
+    op.execute(
+        f"""
+        UPDATE workflow_templates
+        SET content=E'{script_content}' WHERE filename='carta.sh'
+        """
+    )
+
+
+def downgrade():
+    op.execute(
+        f"""
+        UPDATE workflow_templates
+        SET content=E'{old_content}' WHERE filename='carta.sh'
+        """
+    )