diff --git a/tests/src/python/test_qgsrasterlayer.py b/tests/src/python/test_qgsrasterlayer.py
index 23682480cde..3f02e5df9a2 100644
--- a/tests/src/python/test_qgsrasterlayer.py
+++ b/tests/src/python/test_qgsrasterlayer.py
@@ -151,6 +151,18 @@ class TestQgsRasterLayer(TestCase):
myResultFlag = myChecker.runTest("raster_transparency_python");
assert myResultFlag, "Raster transparency rendering test failed"
+ def testIssue7023(self):
+ """Check if converting a raster from 1.8 to 2 works."""
+ myPath = os.path.join(unitTestDataPath('raster'),
+ 'raster-pallette-crash2.tif')
+ myFileInfo = QFileInfo(myPath)
+ myBaseName = myFileInfo.baseName()
+ myRasterLayer = QgsRasterLayer(myPath, myBaseName)
+ myMessage = 'Raster not loaded: %s' % myPath
+ assert myRasterLayer.isValid(), myMessage
+ # crash on next line
+ QgsMapLayerRegistry.addMapLayers([myRasterLayer])
+
def testShaderCrash(self):
"""Check if we assign a shader and then reassign it no crash occurs."""
myPath = os.path.join(unitTestDataPath('raster'),
diff --git a/tests/testdata/raster/raster-pallette-crash2.qml b/tests/testdata/raster/raster-pallette-crash2.qml
new file mode 100644
index 00000000000..2800ad494be
--- /dev/null
+++ b/tests/testdata/raster/raster-pallette-crash2.qml
@@ -0,0 +1,44 @@
+
+
+ 255
+
+ PalettedColor
+ ColorRampShader
+
+ Not Set
+ Not Set
+ Not Set
+ Band 1
+ 0
+
+
+
+
+ NoEnhancement
+
+
+ -1.79769e+308
+ 1.79769e+308
+
+
+ nan
+
+
+
+
+
+
+
+
+
+
+
+ DISCRETE
+
+
+
+
+
+
+
+
diff --git a/tests/testdata/raster/raster-pallette-crash2.tif b/tests/testdata/raster/raster-pallette-crash2.tif
new file mode 100644
index 00000000000..de309a93fb2
Binary files /dev/null and b/tests/testdata/raster/raster-pallette-crash2.tif differ
diff --git a/tests/testdata/raster/raster-pallette-crash2.tif.aux.xml b/tests/testdata/raster/raster-pallette-crash2.tif.aux.xml
new file mode 100644
index 00000000000..00063f7bf34
--- /dev/null
+++ b/tests/testdata/raster/raster-pallette-crash2.tif.aux.xml
@@ -0,0 +1,5 @@
+
+
+ nan
+
+