diff --git a/src/PIL/Image.py b/src/PIL/Image.py
--- a/src/PIL/Image.py
+++ b/src/PIL/Image.py
@@ -2643,10 +2643,10 @@ def open(fp, mode="r"):
 
     exclusive_fp = False
     filename = ""
-    if isPath(fp):
-        filename = fp
-    elif HAS_PATHLIB and isinstance(fp, Path):
+    if HAS_PATHLIB and isinstance(fp, Path):
         filename = str(fp.resolve())
+    elif isPath(fp):
+        filename = fp
 
     if filename:
         fp = builtins.open(filename, "rb")

diff --git a/Tests/test_image.py b/Tests/test_image.py
--- a/Tests/test_image.py
+++ b/Tests/test_image.py
@@ -76,6 +76,10 @@ def test_bad_mode(self):
     @unittest.skipUnless(Image.HAS_PATHLIB, "requires pathlib/pathlib2")
     def test_pathlib(self):
         from PIL.Image import Path
+        im = Image.open(Path("Tests/images/multipage-mmap.tiff"))
+        self.assertEqual(im.mode, "P")
+        self.assertEqual(im.size, (10, 10))
+
         im = Image.open(Path("Tests/images/hopper.jpg"))
         self.assertEqual(im.mode, "RGB")
         self.assertEqual(im.size, (128, 128))

On Windows, opening a TIFF with a pathlib.Path argument fails
### What did you do?

1. Create a tiff file (e.g. `from pylab import *; savefig("test.tiff")` using matplotlib).
2. Try to load it with Pillow, passing the path as pathlib.Path: `from PIL import Image; from pathlib import Path; Image.open(Path("test.tiff")).tobytes()`

### What did you expect to happen?

The image is correctly loaded (the same as `Image.open("test.tiff").tobytes()`; using a pathlib.Path also works just fine on Linux).

### What actually happened?

```
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "...\Miniconda3\lib\site-packages\PIL\Image.py", line 746, in tobytes
    self.load()
  File "...\Miniconda3\lib\site-packages\PIL\TiffImagePlugin.py", line 1078, in load
    return super(TiffImageFile, self).load()
  File "...\Miniconda3\lib\site-packages\PIL\ImageFile.py", line 177, in load
    self.map = Image.core.map(self.filename)
TypeError: argument 1 must be str, not WindowsPath
```

### What are your OS, Python and Pillow versions?

* OS: Windows 10
* Python: 3.7
* Pillow: 6.0.0

I wasn't able to replicate this on AppVeyor. I don't suppose you could say if you're only experiencing this on Windows 10, and not Windows 7?

Also, while you would think this should be easy to reproduce in the right environment, could you provide a script from start to end, attaching a file if necessary, without matplotlib?
```python
from pathlib import Path
from PIL import Image

Image.new("RGBA", (100, 100)).save("test.tiff")
Image.open(Path("test.tiff")).tobytes()
```
reproes the bug for me.

I don't have readily access to a win7 machine with python.

This Pillow install is from PyPI, fwiw.
Thanks. I've created PR #3825 to resolve this.