diff --git a/apps/cli/executables/pexable/casa_envoy/casa_envoy/foundation.py b/apps/cli/executables/pexable/casa_envoy/casa_envoy/foundation.py
index b09b3cf89cf205bb2f8feb1b1f956c1cdbca0d90..674c5f7d4c47e1606d3c221adf334df72aaefb94 100644
--- a/apps/cli/executables/pexable/casa_envoy/casa_envoy/foundation.py
+++ b/apps/cli/executables/pexable/casa_envoy/casa_envoy/foundation.py
@@ -7,6 +7,8 @@ import sys
 import tarfile
 from pathlib import Path
 
+from distutils.dir_util import copy_tree
+
 from casa_envoy.schema import AbstractTextFile
 
 from casa_envoy.interfaces import FoundationIF
@@ -42,8 +44,10 @@ class RestoreFoundation(FoundationIF):
         if Path(cal_path).exists():
             calibration = tarfile.open(cal_path)
             # extract to products
-            calibration.extractall(path="./products")
+            calibration.extractall("./rawdata")
             calibration.close()
+            src = "./rawdata/products"
+            copy_tree(src, "./products/")
         else:
             self.logger.error(f"ERROR: calibration tar file {cal_name} not found in rawdata!")
             # abort since required data not found
diff --git a/apps/cli/executables/pexable/casa_envoy/casa_envoy/launchers.py b/apps/cli/executables/pexable/casa_envoy/casa_envoy/launchers.py
index e31bc581bb0c7330abc9195bc5e92536adbd1f61..3f333db98135759d0d213f7d1bb186e193536845 100644
--- a/apps/cli/executables/pexable/casa_envoy/casa_envoy/launchers.py
+++ b/apps/cli/executables/pexable/casa_envoy/casa_envoy/launchers.py
@@ -93,6 +93,10 @@ class CasaLauncher:
         for file in casa_logs:
             if re.match("^.*SEVERE\sflagmanager.*$", open(file).read()):
                 self.logger.error("CASA ERROR!")
+                sys.exit(1)
+            elif re.match("Traceback (most recent call last):", open(file).read()):
+                self.logger.error("CASA ERROR!")
+                sys.exit(1)
             else:
                 self.logger.info("CASA Success!")
 
diff --git a/apps/cli/executables/pexable/delivery/delivery/products.py b/apps/cli/executables/pexable/delivery/delivery/products.py
index c2b6c533ebb0cdfc8e4213ab5a9b981e45f7329b..7fdfb59d1659ec1da0704a8be7a165fe216c5898 100644
--- a/apps/cli/executables/pexable/delivery/delivery/products.py
+++ b/apps/cli/executables/pexable/delivery/delivery/products.py
@@ -71,7 +71,7 @@ class CalibratedMS(SpooledProduct):
         return self.path.absolute().name
 
     def deliver_to(self, destination: Destination):
-        destination.add_directory(self.path, self.cms_name[:-3])
+        destination.add_directory(self.path, self.cms_name)
 
     def __str__(self):
         return f"calibrated MS {self.cms_name}"
diff --git a/schema/versions/7b284596590c_correcting_restore_ppr.py b/schema/versions/7b284596590c_correcting_restore_ppr.py
new file mode 100644
index 0000000000000000000000000000000000000000..9de94198568a2f78833dc3878c442b858af8539d
--- /dev/null
+++ b/schema/versions/7b284596590c_correcting_restore_ppr.py
@@ -0,0 +1,126 @@
+"""correcting restore PPR
+
+Revision ID: 7b284596590c
+Revises: fd68d858d354
+Create Date: 2021-07-20 16:18:25.909424
+
+"""
+from alembic import op
+import sqlalchemy as sa
+
+
+# revision identifiers, used by Alembic.
+revision = "7b284596590c"
+down_revision = "fd68d858d354"
+branch_labels = None
+depends_on = None
+
+ppr_content = """<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ns2:SciPipeRequest xmlns:ns2="Common/pipelinescience/SciPipeRequest">
+    <ProjectSummary>
+        <ProposalCode>VLA/{{projectCode}}</ProposalCode>
+        <Observatory>NRAO</Observatory>
+        <Telescope>VLA</Telescope>
+        <ProcessingSite>Socorro</ProcessingSite>
+        <Operator>vlapipe</Operator>
+        <Mode>SCIENCE</Mode>
+        <Version>NGRH-ALMA-10_8</Version>
+        <CreationTime>{{created_at}}</CreationTime>
+    </ProjectSummary>
+    <ProjectStructure>TBD</ProjectStructure>
+    <ProcessingRequests>
+        <RootDirectory>{{root_directory}}</RootDirectory>
+        <ProcessingRequest>
+            <ProcessingIntents/>
+            <ProcessingProcedure>
+                <ProcedureTitle>Workspaces Restore</ProcedureTitle>
+                <ProcessingCommand>
+                    <Command>hifv_restoredata</Command>
+                    <ParameterSet/>
+                </ProcessingCommand>
+                <ProcessingCommand>
+                    <Command>hifv_statwt</Command>
+                    <ParameterSet/>
+                </ProcessingCommand>
+            </ProcessingProcedure>
+            <DataSet>
+                <RelativePath>{{relative_path}}</RelativePath>
+                <SdmIdentifier>{{sdmId}}</SdmIdentifier>
+                <DataType>asdm</DataType>
+            </DataSet>
+        </ProcessingRequest>0
+    </ProcessingRequests>
+</ns2:SciPipeRequest>
+
+"""
+
+old_ppr_content = """<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
+<ns2:SciPipeRequest xmlns:ns2="Common/pipelinescience/SciPipeRequest">
+    <ProjectSummary>
+        <ProposalCode>VLA/null</ProposalCode>
+        <Observatory>NRAO</Observatory>
+        <Telescope>VLA</Telescope>
+        <ProcessingSite>Socorro</ProcessingSite>
+        <Operator>vlapipe</Operator>
+        <Mode>SCIENCE</Mode>
+        <Version>NGRH-ALMA-10_8</Version>
+        <CreationTime>{{created_at}}</CreationTime>
+    </ProjectSummary>
+    <ProjectStructure>TBD</ProjectStructure>
+    <ProcessingRequests>
+        <RootDirectory>{{root_directory}}</RootDirectory>
+        <ProcessingRequest>
+            <ProcessingIntents>
+                <Intents>
+                    <Keyword>VLA_INTERFEROMETRY_STANDARD_OBSERVING_MODE</Keyword>
+                    <Value>Undefined</Value>
+                </Intents>
+            </ProcessingIntents>
+            <ProcessingProcedure>
+                <ProcedureTitle>Workspaces Restore</ProcedureTitle>
+                <ProcessingCommand>
+                    <Command>hifv_restoredata</Command>
+                    <ParameterSet/>
+                </ProcessingCommand>
+                <ProcessingCommand>
+                    <Command>hifv_statwt</Command>
+                    <ParameterSet/>
+                </ProcessingCommand>
+            </ProcessingProcedure>
+            <DataSet>
+                <RelativePath>{{relative_path}}</RelativePath>
+                <SdmIdentifier>{{sdmId}}</SdmIdentifier>
+                <DataType>asdm</DataType>
+            </DataSet>
+        </ProcessingRequest>0
+    </ProcessingRequests>
+    <ResultsProcessing>
+        <ArchiveResults>false</ArchiveResults>
+        <CleanUpDisk>false</CleanUpDisk>
+        <UpdateProjectLifeCycle>false</UpdateProjectLifeCycle>
+        <NotifyOperatorWhenDone>false</NotifyOperatorWhenDone>
+        <SDMall>false</SDMall>
+        <SDMonly>false</SDMonly>
+        <PipelineOperatorAddress>Unknown</PipelineOperatorAddress>
+    </ResultsProcessing>
+</ns2:SciPipeRequest>
+
+"""
+
+
+def upgrade():
+    op.execute(
+        f"""
+        UPDATE workflow_templates
+        SET content=E'{ppr_content}' WHERE filename='PPR.xml' AND workflow_name='restore_cms'
+        """
+    )
+
+
+def downgrade():
+    op.execute(
+        f"""
+        UPDATE workflow_templates
+        SET content=E'{old_ppr_content}' WHERE filename='PPR.xml' AND workflow_name='restore_cms'
+        """
+    )