diff --git a/server-data-store/src/main/java/ch/ethz/sis/afsserver/http/impl/NettyHttpHandler.java b/server-data-store/src/main/java/ch/ethz/sis/afsserver/http/impl/NettyHttpHandler.java
index 21eeb2e2663c3b881c7ade028b6b664bc3ad36d3..58131a85b086f52d983868db0967c82507397851 100644
--- a/server-data-store/src/main/java/ch/ethz/sis/afsserver/http/impl/NettyHttpHandler.java
+++ b/server-data-store/src/main/java/ch/ethz/sis/afsserver/http/impl/NettyHttpHandler.java
@@ -67,8 +67,22 @@ public class NettyHttpHandler extends ChannelInboundHandlerAdapter
             {
                 if (OPTIONS.equals(request.method()))
                 {
+                    final String requestMethod = request.headers().get(HttpHeaderNames.ACCESS_CONTROL_REQUEST_METHOD);
+
+                    final HttpResponseStatus responseStatus;
+                    if (requestMethod == null)
+                    {
+                        responseStatus = HttpResponseStatus.BAD_REQUEST;
+                    } else if (!allowedMethods.contains(HttpMethod.valueOf(requestMethod)))
+                    {
+                        responseStatus = HttpResponseStatus.METHOD_NOT_ALLOWED;
+                    } else
+                    {
+                        responseStatus = HttpResponseStatus.OK;
+                    }
+
                     final FullHttpResponse response = getHttpResponse(
-                            HttpResponseStatus.OK,
+                            responseStatus,
                             HttpResponse.CONTENT_TYPE_TEXT,
                             new EmptyByteBuf(ByteBufAllocator.DEFAULT),
                             0);