diff --git a/api/handler/delete.go b/api/handler/delete.go
index ac75c1fc..683e6be1 100644
--- a/api/handler/delete.go
+++ b/api/handler/delete.go
@@ -213,19 +213,7 @@ func (h *handler) DeleteMultipleObjectsHandler(w http.ResponseWriter, r *http.Re
 
 	var errs []error
 	for _, obj := range deletedObjects {
-		if obj.Error == nil {
-			deletedObj := DeletedObject{
-				ObjectIdentifier: ObjectIdentifier{
-					ObjectName: obj.Name,
-					VersionID:  obj.VersionID,
-				},
-				DeleteMarkerVersionID: obj.DeleteMarkVersion,
-			}
-			if deletedObj.DeleteMarkerVersionID != "" {
-				deletedObj.DeleteMarker = true
-			}
-			response.DeletedObjects = append(response.DeletedObjects, deletedObj)
-		} else if !requested.Quiet {
+		if obj.Error != nil {
 			code := "BadRequest"
 			if s3err, ok := obj.Error.(errors.Error); ok {
 				code = s3err.Code
@@ -237,15 +225,26 @@ func (h *handler) DeleteMultipleObjectsHandler(w http.ResponseWriter, r *http.Re
 				VersionID: obj.VersionID,
 			})
 			errs = append(errs, obj.Error)
+		} else if !requested.Quiet {
+			deletedObj := DeletedObject{
+				ObjectIdentifier: ObjectIdentifier{
+					ObjectName: obj.Name,
+					VersionID:  obj.VersionID,
+				},
+				DeleteMarkerVersionID: obj.DeleteMarkVersion,
+			}
+			if deletedObj.DeleteMarkerVersionID != "" {
+				deletedObj.DeleteMarker = true
+			}
+			response.DeletedObjects = append(response.DeletedObjects, deletedObj)
 		}
 	}
-
-	if !requested.Quiet && len(errs) != 0 {
-		additional := []zap.Field{
+	if len(errs) != 0 {
+		fields := []zap.Field{
 			zap.Array("objects", marshaler),
 			zap.Errors("errors", errs),
 		}
-		h.logAndSendError(w, "could not delete objects", reqInfo, nil, additional...)
+		h.log.Error("couldn't delete objects", fields...)
 	}
 
 	if err := api.EncodeToResponse(w, response); err != nil {
diff --git a/api/layer/layer.go b/api/layer/layer.go
index f3b30740..0a1be3a4 100644
--- a/api/layer/layer.go
+++ b/api/layer/layer.go
@@ -568,7 +568,6 @@ func (n *layer) deleteObject(ctx context.Context, bkt *data.BucketInfo, settings
 		}
 		last := versions.getLast(FromUnversioned())
 		if last == nil {
-			obj.Error = errors.GetAPIError(errors.ErrInvalidVersion)
 			return obj
 		}
 		p.Header[VersionsDeleteMarkAttr] = last.Version()