diff --git a/libmat2/harmless.py b/libmat2/harmless.py
index 9032caf9201ab1032c0068caea50a633ea5f9b41..336873c0dbb7fb6dce3dbdc67f9b82136a0f6bab 100644
--- a/libmat2/harmless.py
+++ b/libmat2/harmless.py
@@ -5,7 +5,7 @@ from . import abstract
 
 class HarmlessParser(abstract.AbstractParser):
     """ This is the parser for filetypes that do not contain metadata. """
-    mimetypes = {'text/plain', }
+    mimetypes = {'text/plain', 'image/x-ms-bmp'}
 
     def get_meta(self) -> Dict[str, str]:
         return dict()
diff --git a/libmat2/images.py b/libmat2/images.py
index 74533b575c8a91345de47c0e63b8562be19dd148..311186d75daed15d723efdfecffb219677398ff4 100644
--- a/libmat2/images.py
+++ b/libmat2/images.py
@@ -110,19 +110,3 @@ class TiffParser(GdkPixbufAbstractParser):
                       'FilePermissions', 'FileSize', 'FileType',
                       'FileTypeExtension', 'ImageHeight', 'ImageSize',
                       'ImageWidth', 'MIMEType', 'Megapixels', 'SourceFile'}
-
-
-class BMPParser(GdkPixbufAbstractParser):
-    _type = 'bmp'
-    mimetypes = {'image/x-ms-bmp'}
-    meta_whitelist = {'SourceFile', 'ExifToolVersion', 'FileName', 'Directory',
-                      'FileSize', 'FileModifyDate', 'FileAccessDate',
-                      'FileInodeChangeDate', 'FilePermissions', 'FileType',
-                      'FileTypeExtension', 'MIMEType', 'BMPVersion',
-                      'ImageWidth', 'ImageHeight', 'Planes', 'BitDepth',
-                      'Compression', 'ImageLength', 'PixelsPerMeterX',
-                      'PixelsPerMeterY', 'NumColors', 'NumImportantColors',
-                      'RedMask', 'GreenMask', 'BlueMask', 'AlphaMask',
-                      'ColorSpace', 'RedEndpoint', 'GreenEndpoint',
-                      'BlueEndpoint', 'GammaRed', 'GammaGreen', 'GammaBlue',
-                      'ImageSize', 'Megapixels'}
diff --git a/tests/test_corrupted_files.py b/tests/test_corrupted_files.py
index 4b2243d270419b04dde693bc3c594a55db8e6e6c..1beb2badc474a3c4297c284c8c16fb85a316ab74 100644
--- a/tests/test_corrupted_files.py
+++ b/tests/test_corrupted_files.py
@@ -4,7 +4,7 @@ import unittest
 import shutil
 import os
 
-from libmat2 import pdf, images, audio, office, parser_factory, torrent
+from libmat2 import pdf, images, audio, office, parser_factory, torrent, harmless
 
 
 class TestUnsupportedFiles(unittest.TestCase):
@@ -65,8 +65,7 @@ class TestCorruptedFiles(unittest.TestCase):
 
     def test_bmp(self):
         shutil.copy('./tests/data/dirty.png', './tests/data/clean.bmp')
-        with self.assertRaises(ValueError):
-             images.BMPParser('./tests/data/clean.bmp')
+        harmless.HarmlessParser('./tests/data/clean.bmp')
         os.remove('./tests/data/clean.bmp')
 
     def test_docx(self):
diff --git a/tests/test_libmat2.py b/tests/test_libmat2.py
index 90f37a8505fb39a66d80c476a1a750d768364cee..512efe833007ead2868fe0887d670a2421086db2 100644
--- a/tests/test_libmat2.py
+++ b/tests/test_libmat2.py
@@ -417,7 +417,7 @@ class TestCleaning(unittest.TestCase):
 
     def test_bmp(self):
         shutil.copy('./tests/data/dirty.bmp', './tests/data/clean.bmp')
-        p = images.BMPParser('./tests/data/clean.bmp')
+        p = harmless.HarmlessParser('./tests/data/clean.bmp')
 
         meta = p.get_meta()
         self.assertEqual(meta, {})  # bmp has no meta :)
@@ -425,7 +425,7 @@ class TestCleaning(unittest.TestCase):
         ret = p.remove_all()
         self.assertTrue(ret)
 
-        p = images.BMPParser('./tests/data/clean.cleaned.bmp')
+        p = harmless.HarmlessParser('./tests/data/clean.cleaned.bmp')
         self.assertEqual(p.get_meta(), {})
 
         os.remove('./tests/data/clean.bmp')