diff --git a/src/main/java/br/ufrgs/inf/prosoft/tfcache/Pareto.java b/src/main/java/br/ufrgs/inf/prosoft/tfcache/Pareto.java
index 1d8fdac..9b68318 100755
--- a/src/main/java/br/ufrgs/inf/prosoft/tfcache/Pareto.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/tfcache/Pareto.java
@@ -69,8 +69,8 @@ public class Pareto {
double distanceIdleTime = maxIdleTime - minIdleTime;
List<BigDecimal> normalisedEuclideanDistances = values().stream().map(it -> {
- BigDecimal normalisedSavedTime = new BigDecimal(it.getSavedTime() - minSavedTime).divide(BigDecimal.valueOf(distanceSavedTime), MathContext.DECIMAL128);
- BigDecimal normalisedIdleTime = new BigDecimal(it.getIdleTime() - minIdleTime).divide(BigDecimal.valueOf(distanceIdleTime), MathContext.DECIMAL128);
+ BigDecimal normalisedSavedTime = distanceSavedTime > 0 ? new BigDecimal(it.getSavedTime() - minSavedTime).divide(BigDecimal.valueOf(distanceSavedTime), MathContext.DECIMAL128) : BigDecimal.ONE;
+ BigDecimal normalisedIdleTime = distanceIdleTime > 0 ? new BigDecimal(it.getIdleTime() - minIdleTime).divide(BigDecimal.valueOf(distanceIdleTime), MathContext.DECIMAL128) : BigDecimal.ONE;
return Metrics.calculateEuclideanDistance(normalisedSavedTime, normalisedIdleTime, Configuration.getPreferences().get(0), Configuration.getPreferences().get(1));
}).collect(Collectors.toList());
return normalisedEuclideanDistances.stream().min(BigDecimal::compareTo).orElseThrow();