diff --git a/perl/exit_strategy.pl b/perl/exit_strategy.pl
index 76fffbfca7e97ebca4567bcb10015a7525450887..218934c9655b4356d2c7385da4a974b840dd9b1a 100644
--- a/perl/exit_strategy.pl
+++ b/perl/exit_strategy.pl
@@ -363,8 +363,10 @@ SQL_INDEX4
 SQL_INDEX5
   my $sql6=<<"SQL_VIEW";
   CREATE VIEW non_deleted_aip(id,ie_id,lza_id,version,dir_path) AS 
-    SELECT * FROM aip WHERE aip.id NOT IN (
-      SELECT aip_id FROM deleted
+    SELECT * FROM aip WHERE NOT EXISTS (
+      SELECT aip_id FROM deleted WHERE aip.id == aip_id
+    ) AND NOT EXISTS (
+      SELECT aip_id FROM purged WHERE aip.id == aip_id
     );
 SQL_VIEW
   my $sth1 = $dbh->prepare($sql1); $sth1->execute() or die "sql problem detected", $dbh->errstr;
diff --git a/perl/t/expected.sql b/perl/t/expected.sql
index 6d47085c0d3f5acc6650241856498b6454da388e..ee3c516775d973068752a54ecfbb4960e313b4a3 100644
--- a/perl/t/expected.sql
+++ b/perl/t/expected.sql
@@ -94,7 +94,9 @@ CREATE INDEX delete_index ON deleted (aip_id);
 CREATE INDEX aip_index2 ON aip (lza_id);
 CREATE INDEX aip_index3 ON aip (ie_id,lza_id);
 CREATE VIEW non_deleted_aip(id,ie_id,lza_id,version,dir_path) AS 
-    SELECT * FROM aip WHERE aip.id NOT IN (
-      SELECT aip_id FROM deleted
+    SELECT * FROM aip WHERE NOT EXISTS (
+      SELECT aip_id FROM deleted WHERE aip.id == aip_id
+    ) AND NOT EXISTS (
+      SELECT aip_id FROM purged WHERE aip.id == aip_id
     );
 COMMIT;