diff --git a/benchmark/memory.cc b/benchmark/memory.cc
index e67dd1721bbaac4ec5c9891f6a5690c473b0b724..b76663e919a786bd2cba3ff0b65159dda2764949 100644
--- a/benchmark/memory.cc
+++ b/benchmark/memory.cc
@@ -89,7 +89,7 @@ void MemoryBuffer::memory_copy(MemoryBuffer& dst, MemoryBuffer& src){
 }
 
 MemoryBuffer MemoryBuffer::wrap(void* p, std::size_t len, AddressSpace::ID addr_space_id){
-    return MemoryBuffer(p, len, addr_space_id);
+    return {p, len, addr_space_id};
 }
 
 void MemoryBuffer::fill(){
diff --git a/benchmark/memory.h b/benchmark/memory.h
index aa08943d4121d0c3d983ee6def518ad23b7c10e0..6774f1a85c1860650afd1b407dcdb8ea4f328559 100644
--- a/benchmark/memory.h
+++ b/benchmark/memory.h
@@ -165,8 +165,8 @@ class MemoryBuffer{
 
 		MemoryBuffer(const MemoryBuffer& other)             = delete;
 		MemoryBuffer& operator=(const MemoryBuffer& other)  = delete;
-		MemoryBuffer(MemoryBuffer&& other)                  = delete;
-		MemoryBuffer& operator=(const MemoryBuffer&& other) = delete;
+		MemoryBuffer(MemoryBuffer&& other)                  = default;
+		MemoryBuffer& operator=(MemoryBuffer&& other)       = default;
 
 		/* Wrap an existing pointer into a memory buffer. We do not know the allocator
 		 * and hence have to ingore it. This is acceptable since the allocator is not