diff --git a/base/src/main/java/uk/ac/ebi/atlas/utils/ColourGradient.java b/base/src/main/java/uk/ac/ebi/atlas/utils/ColourGradient.java
index <HASH>..<HASH> 100644
--- a/base/src/main/java/uk/ac/ebi/atlas/utils/ColourGradient.java
+++ b/base/src/main/java/uk/ac/ebi/atlas/utils/ColourGradient.java
@@ -7,7 +7,9 @@ import java.awt.Color;
 public class ColourGradient {
 
     public static String getGradientColour(double value, double min, double max, String lowValueColourString, String highValueColourString) {
-        Preconditions.checkArgument(value >= min && value <= max);
+        Preconditions.checkArgument(
+                value >= 0.0 && value >= min && value <= max ||
+                value < 0 && value <= min && value >= max);
 
         Color lowValueColour = getColour(lowValueColourString);
         Color highValueColour = getColour(highValueColourString);
Fix checking if value is within min and max