diff --git a/labs/unicorn-store/delete-vpc-peering.sh b/labs/unicorn-store/delete-vpc-peering.sh
new file mode 100755
index 000000000..5614abb3f
--- /dev/null
+++ b/labs/unicorn-store/delete-vpc-peering.sh
@@ -0,0 +1,7 @@
+#bin/sh
+
+UNICORN_VPC_ID=$(aws cloudformation describe-stacks --stack-name UnicornStoreInfrastructure --query 'Stacks[0].Outputs[?OutputKey==`UnicornStoreVpcId`].OutputValue' --output text)
+
+VPC_PEERING_CONNECTION_ID=$(aws ec2 describe-vpc-peering-connections --filters "Name=accepter-vpc-info.vpc-id,Values=$UNICORN_VPC_ID" --query 'VpcPeeringConnections[0].VpcPeeringConnectionId' --output text)
+
+aws ec2 delete-vpc-peering-connection --vpc-peering-connection-id $VPC_PEERING_CONNECTION_ID
diff --git a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/core/InfrastructureStack.java b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/core/InfrastructureStack.java
index 0845d5dfb..5c0944a9c 100644
--- a/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/core/InfrastructureStack.java
+++ b/labs/unicorn-store/infrastructure/cdk/src/main/java/com/unicorn/core/InfrastructureStack.java
@@ -7,7 +7,11 @@
 import software.amazon.awscdk.services.events.EventBus;
 import software.amazon.awscdk.services.rds.*;
 import software.constructs.Construct;
+import software.amazon.awscdk.Aspects;
+import software.amazon.awscdk.IAspect;
+import software.constructs.IConstruct;
 
+import java.io.IOException;
 import java.util.List;
 
 public class InfrastructureStack extends Stack {
@@ -36,9 +40,10 @@ public InfrastructureStack(final Construct scope, final String id, final StackPr
         createEventBridgeVpcEndpoint();
         createDynamoDBVpcEndpoint();
         new DatabaseSetupConstruct(this, "UnicornDatabaseConstruct");
+        
+        Aspects.of(this).add(new PreDestroyHook());
     }
 
-
     private EventBus createEventBus() {
         return EventBus.Builder.create(this, "UnicornEventBus")
                 .eventBusName("unicorns")
@@ -136,4 +141,25 @@ private IGatewayVpcEndpoint createDynamoDBVpcEndpoint() {
                 .build();
     }
 
+    private void runCustomScript(String scriptPath) {
+        try {
+            Process process = Runtime.getRuntime().exec(scriptPath);
+            int exitCode = process.waitFor();
+            if (exitCode != 0) {
+                System.err.println("Error running custom script. Exit code: " + exitCode);
+            }
+        } catch (IOException | InterruptedException e) {
+            System.err.println("Error running custom script: " + e.getMessage());
+        }
+    }
+    
+    class PreDestroyHook implements IAspect {
+        @Override
+        public void visit(IConstruct node) {
+            if (node instanceof software.amazon.awscdk.Stack) {
+                runCustomScript("/home/ec2-user/environment/aws-lambda-java-workshop/labs/unicorn-store/delete-vpc-peering.sh");
+            }
+        }
+    }
+
 }