diff --git a/AMOEBAonAMAK/src/agents/percept/Percept.java b/AMOEBAonAMAK/src/agents/percept/Percept.java
index 633a06b363cf2b31b09f32fe859b78aaac838ddf..064969461e53732961f008123fc2106b850b5bfe 100644
--- a/AMOEBAonAMAK/src/agents/percept/Percept.java
+++ b/AMOEBAonAMAK/src/agents/percept/Percept.java
@@ -439,4 +439,10 @@ public class Percept extends AmoebaAgent {
 	public String toString() {
 		return getName();
 	}
+	
+	@Override
+	public void destroy() {
+		super.destroy();
+		getAmas().setPercepts();
+	}
 }
diff --git a/AMOEBAonAMAK/src/kernel/AMOEBA.java b/AMOEBAonAMAK/src/kernel/AMOEBA.java
index 53a894b58e7412118576cadb99adf46d9f7a466e..d05843c62e72bac2fd2c9abb45de07fb06c2625c 100644
--- a/AMOEBAonAMAK/src/kernel/AMOEBA.java
+++ b/AMOEBAonAMAK/src/kernel/AMOEBA.java
@@ -611,22 +611,10 @@ public class AMOEBA extends Amas<World> implements IAMOEBA {
 	}
 
 	public ArrayList<Percept> getPercepts() {
-		
-		
 		if(percepts == null || percepts.size()==0) {
-			ArrayList<Percept> pcts = new ArrayList<Percept>();
-			for (Agent<? extends Amas<World>, World> agent : getAgents()) {
-				if ((agent instanceof Percept)) {
-					pcts.add((Percept) agent);
-				}
-			}
-			percepts = pcts;
-		}
-			
-		
+			setPercepts();
+		}	
 		return percepts;
-		
-
 	}
 
 	/**
@@ -834,7 +822,10 @@ public class AMOEBA extends Amas<World> implements IAMOEBA {
 		percepts = new ArrayList<Percept>();
 		for (Agent<? extends Amas<World>, World> agent : getAgents()) {
 			if ((agent instanceof Percept)) {
-				percepts.add((Percept) agent);
+				Percept p = (Percept) agent;
+				if(!p.isDying()) {
+					percepts.add(p);
+				}
 			}
 		}
 	}