anchor.diff:                 end,
       critical_section:run(SynchKey,
           fun() ->
  -            case get_last(ModelConfig, Key) of
  +            case get(ModelConfig, Key) of
  +            % TODO -VFS 2971
  +%%            case get_last(ModelConfig, Key) of
                   {error, {not_found, _}} ->
                       save_revision(ModelConfig, BucketOverride, ToSave#document{rev = {RNum, [Id]}});
                   {error, not_found} ->
                       save_revision(ModelConfig, BucketOverride, ToSave#document{rev = {RNum, [Id]}});
                   {error, Reason} ->
                       {error, Reason};
  -                {ok, #document{key = Key, rev = Rev} = Old} ->
  +                {ok, #document{key = Key, rev = Rev, deleted = OldDel} = Old} ->
                       {OldRNum, OldId} = rev_to_info(Rev),
                       case RNum of
                           OldRNum ->
  
positive.code:             case db_run(BucketOverride, couchbeam, open_doc, [to_driver_key(Bucket, Key), [{<<"open_revs">>, all}]], 3) of
                  {ok,{multipart,M}} ->
                      case collect_mp(couchbeam:stream_doc(M), []) of
                          [{doc,{Proplist}}] ->
                              case verify_ans(Proplist) of
                                  true ->
                                      {_, Rev} = lists:keyfind(<<"_rev">>, 1, Proplist),
                                      Proplist1 = [KV || {<<"_", _/binary>>, _} = KV <- Proplist],
                                      Proplist2 = Proplist -- Proplist1,
                                      {_WasUpdated, Version, Value} = datastore_json:decode_record_vcs({Proplist2}),
                                      Deleted = case lists:keyfind(<<"deleted">>, 1, Proplist) of
                                          {_, true} -> true;
                                          _ -> false
                                      end,
                                      RetDoc = #document{key = Key, value = Value, rev = Rev, version = Version, deleted = Deleted},
                                      {ok, RetDoc};
                                  _ ->
                                      {error, db_internal_error}
                              end;
                          MultipartError ->
                              ?error("Multipart get error: ~p", [MultipartError]),
                              {error, db_internal_error}
  
negative.code:                                         {ok, _} ->
                                              % TODO - what happens if first save is ok and second fails
                                              % Delete in new task type that starts if first try fails
                                              case OldDel of
                                                  true -> ok;
                                                  _ -> delete_doc(ModelConfig, Old)
                                              end,
                                              {ok, Key};
                                          Other ->
                                              Other
  