diff --git a/tests/visual_tests/data/heat_nodata.tif b/tests/visual_tests/data/heat_nodata.tif
new file mode 100644
index 000000000..ed6d71ea7
Binary files /dev/null and b/tests/visual_tests/data/heat_nodata.tif differ
diff --git a/tests/visual_tests/data/heat_rgb.tif b/tests/visual_tests/data/heat_rgb.tif
new file mode 100644
index 000000000..c9ad3b57b
Binary files /dev/null and b/tests/visual_tests/data/heat_rgb.tif differ
diff --git a/tests/visual_tests/grids/tiff-nodata-rgb-512-512-1.0-grid-reference.json b/tests/visual_tests/grids/tiff-nodata-rgb-512-512-1.0-grid-reference.json
new file mode 100644
index 000000000..53162f357
--- /dev/null
+++ b/tests/visual_tests/grids/tiff-nodata-rgb-512-512-1.0-grid-reference.json
@@ -0,0 +1,136 @@
+{
+ "keys": [
+ ""
+ ],
+ "data": {},
+ "grid": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "
+ ]
+}
\ No newline at end of file
diff --git a/tests/visual_tests/grids/tiff-nodata-rgba-512-512-1.0-grid-reference.json b/tests/visual_tests/grids/tiff-nodata-rgba-512-512-1.0-grid-reference.json
new file mode 100644
index 000000000..53162f357
--- /dev/null
+++ b/tests/visual_tests/grids/tiff-nodata-rgba-512-512-1.0-grid-reference.json
@@ -0,0 +1,136 @@
+{
+ "keys": [
+ ""
+ ],
+ "data": {},
+ "grid": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "
+ ]
+}
\ No newline at end of file
diff --git a/tests/visual_tests/grids/tiff-nodata-tolerance-512-512-1.0-grid-reference.json b/tests/visual_tests/grids/tiff-nodata-tolerance-512-512-1.0-grid-reference.json
new file mode 100644
index 000000000..53162f357
--- /dev/null
+++ b/tests/visual_tests/grids/tiff-nodata-tolerance-512-512-1.0-grid-reference.json
@@ -0,0 +1,136 @@
+{
+ "keys": [
+ ""
+ ],
+ "data": {},
+ "grid": [
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " ",
+ " "
+ ]
+}
\ No newline at end of file
diff --git a/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-agg-reference.png
new file mode 100644
index 000000000..e17dd9c3f
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-agg-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-cairo-reference.png
new file mode 100644
index 000000000..e01309a3d
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-rgb-512-512-1.0-cairo-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-agg-reference.png
new file mode 100644
index 000000000..e17dd9c3f
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-agg-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-cairo-reference.png
new file mode 100644
index 000000000..e01309a3d
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-rgb-512-512-2.0-cairo-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-agg-reference.png
new file mode 100644
index 000000000..ef1625a41
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-agg-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-cairo-reference.png
new file mode 100644
index 000000000..96be15b9e
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-rgba-512-512-1.0-cairo-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-agg-reference.png
new file mode 100644
index 000000000..ef1625a41
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-agg-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-cairo-reference.png
new file mode 100644
index 000000000..96be15b9e
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-rgba-512-512-2.0-cairo-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-agg-reference.png
new file mode 100644
index 000000000..f33b25a85
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-agg-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-cairo-reference.png
new file mode 100644
index 000000000..f33b25a85
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-1.0-cairo-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-agg-reference.png b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-agg-reference.png
new file mode 100644
index 000000000..f33b25a85
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-agg-reference.png differ
diff --git a/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-cairo-reference.png b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-cairo-reference.png
new file mode 100644
index 000000000..f33b25a85
Binary files /dev/null and b/tests/visual_tests/images/tiff-nodata-tolerance-512-512-2.0-cairo-reference.png differ
diff --git a/tests/visual_tests/styles/tiff-nodata-rgb.xml b/tests/visual_tests/styles/tiff-nodata-rgb.xml
new file mode 100644
index 000000000..decad10d8
--- /dev/null
+++ b/tests/visual_tests/styles/tiff-nodata-rgb.xml
@@ -0,0 +1,17 @@
+
\ No newline at end of file
diff --git a/tests/visual_tests/styles/tiff-nodata-rgba.xml b/tests/visual_tests/styles/tiff-nodata-rgba.xml
new file mode 100644
index 000000000..80e674e15
--- /dev/null
+++ b/tests/visual_tests/styles/tiff-nodata-rgba.xml
@@ -0,0 +1,16 @@
+
\ No newline at end of file
diff --git a/tests/visual_tests/styles/tiff-nodata-tolerance.xml b/tests/visual_tests/styles/tiff-nodata-tolerance.xml
new file mode 100644
index 000000000..05956a1be
--- /dev/null
+++ b/tests/visual_tests/styles/tiff-nodata-tolerance.xml
@@ -0,0 +1,19 @@
+
\ No newline at end of file
diff --git a/tests/visual_tests/test.py b/tests/visual_tests/test.py
index 80bfea546..1da24e952 100755
--- a/tests/visual_tests/test.py
+++ b/tests/visual_tests/test.py
@@ -214,7 +214,10 @@ files = {
'colorize-alpha3':{'sizes':[(512,512)]},
'image-filters-galore':{'sizes':[(512,512)]},
'image-filters-multi-blur':{'sizes':[(512,512)]},
- 'line-opacity-multi-render':{'sizes':[(512,512)]}
+ 'line-opacity-multi-render':{'sizes':[(512,512)]},
+ 'tiff-nodata-rgb':{'sizes':[(512,512)]},
+ 'tiff-nodata-rgba':{'sizes':[(512,512)]},
+ 'tiff-nodata-tolerance':{'sizes':[(512,512)]}
}
class Reporting: