diff --git a/src/storage/StorageInterface.hxx b/src/storage/StorageInterface.hxx
index ecdc882b6..18bee8cfd 100644
--- a/src/storage/StorageInterface.hxx
+++ b/src/storage/StorageInterface.hxx
@@ -31,6 +31,8 @@ class AllocatedPath;
 
 class StorageDirectoryReader {
 public:
+	StorageDirectoryReader() = default;
+	StorageDirectoryReader(const StorageDirectoryReader &) = delete;
 	virtual ~StorageDirectoryReader() {}
 
 	virtual const char *Read() = 0;
@@ -39,6 +41,8 @@ public:
 
 class Storage {
 public:
+	Storage() = default;
+	Storage(const Storage &) = delete;
 	virtual ~Storage() {}
 
 	virtual bool GetInfo(const char *uri_utf8, bool follow, FileInfo &info,
diff --git a/src/storage/plugins/LocalStorage.hxx b/src/storage/plugins/LocalStorage.hxx
index d9c2fcb64..319d0d189 100644
--- a/src/storage/plugins/LocalStorage.hxx
+++ b/src/storage/plugins/LocalStorage.hxx
@@ -56,8 +56,6 @@ public:
 	LocalStorage(const char *_base_utf8, Path _base_fs)
 		:base_utf8(_base_utf8), base_fs(_base_fs) {}
 
-	LocalStorage(const LocalStorage &) = delete;
-
 	/* virtual methods from class Storage */
 	virtual bool GetInfo(const char *uri_utf8, bool follow, FileInfo &info,
 			     Error &error) override;