diff --git a/app/Services/ImageService.php b/app/Services/ImageService.php
index 0a4ef8849..9d8aeea51 100644
--- a/app/Services/ImageService.php
+++ b/app/Services/ImageService.php
@@ -3,6 +3,7 @@
 use BookStack\Exceptions\ImageUploadException;
 use BookStack\Image;
 use BookStack\User;
+use Exception;
 use Intervention\Image\ImageManager;
 use Illuminate\Contracts\Filesystem\Factory as FileSystem;
 use Illuminate\Contracts\Filesystem\Filesystem as FileSystemInstance;
@@ -88,9 +89,11 @@ class ImageService
         }
         $fullPath = $imagePath . $imageName;
 
-        if(!is_writable(dirname(public_path($fullPath)))) throw new ImageUploadException('Image Directory ' . public_path($fullPath) . ' is not writable by the server.');
-
-        $storage->put($fullPath, $imageData);
+        try {
+            $storage->put($fullPath, $imageData);
+        } catch (Exception $e) {
+            throw new ImageUploadException('Image Path ' . $fullPath . ' is not writable by the server.');
+        }
 
         $imageDetails = [
             'name'       => $imageName,
diff --git a/readme.md b/readme.md
index 5483404b2..b2f909efb 100644
--- a/readme.md
+++ b/readme.md
@@ -47,7 +47,7 @@ git clone https://github.com/ssddanbrown/BookStack.git --branch release --single
 
 2. `cd` into the application folder and run `composer install`.
 3. Copy the `.env.example` file to `.env` and fill with your own database and mail details.
-4. Ensure the `storage` & `bootstrap/cache` folders are writable by the web server.
+4. Ensure the `storage`, `bootstrap/cache` & `public/uploads` folders are writable by the web server.
 5. In the application root, Run `php artisan key:generate` to generate a unique application key.
 6. If not using apache or if `.htaccess` files are disabled you will have to create some URL rewrite rules as shown below.
 7. Run `php artisan migrate` to update the database.