diff --git a/src/main/java/eu/hbp/mip/utils/DataUtil.java b/src/main/java/eu/hbp/mip/utils/DataUtil.java
index d6b65b2e4613d1bc571f95de50c63d3d452572a5..a99a9b963ef37930d57cfa037d049dd7c88f1366 100644
--- a/src/main/java/eu/hbp/mip/utils/DataUtil.java
+++ b/src/main/java/eu/hbp/mip/utils/DataUtil.java
@@ -13,7 +13,7 @@ import java.util.List;
 
 public class DataUtil {
 
-    private static final int NB_ROWS_SAMPLING = 200;
+    private static final int MAX_NB_SAMPLES = 200;
     private static final int TABLESAMPLE_SEED = 42;
 
     private JdbcTemplate jdbcTemplate;
@@ -32,12 +32,12 @@ public class DataUtil {
 
         for (String var : vars) {
             JsonArray currentVarData = new JsonArray();
+
             int nbRows = (int) countDatasetRows();
-            if (nbRows < 1)
-            {
-                return data;
-            }
-            int samplingPercentage = 100 * NB_ROWS_SAMPLING / nbRows;
+            if (nbRows < 1) { return data; }
+
+            int nb_samples = Math.min(nbRows, MAX_NB_SAMPLES);
+            int samplingPercentage = 100 * nb_samples / nbRows;
             List<Object> queryResult = jdbcTemplate.queryForList(
                     "SELECT " + var + " FROM "+scienceMainTable+" " +
                             "TABLESAMPLE SYSTEM ("+ samplingPercentage +") REPEATABLE ( "+ TABLESAMPLE_SEED +" )", Object.class);