diff --git a/dlls/rpcrt4/cpsf.c b/dlls/rpcrt4/cpsf.c index fe551857472..ac1eccf56fa 100644 --- a/dlls/rpcrt4/cpsf.c +++ b/dlls/rpcrt4/cpsf.c @@ -167,8 +167,9 @@ static void init_psfactory( CStdPSFactoryBuffer *psfac, const ProxyFileInfo **fi if (file_list[i]->pDelegatedIIDs && file_list[i]->pDelegatedIIDs[j]) { - fill_delegated_proxy_table( (IUnknownVtbl *)proxies[j]->Vtbl, - stubs[j]->header.DispatchTableCount ); + void **vtbl = proxies[j]->Vtbl; + if (file_list[i]->TableVersion > 1) vtbl++; + fill_delegated_proxy_table( (IUnknownVtbl *)vtbl, stubs[j]->header.DispatchTableCount ); pSrcRpcStubVtbl = (void * const *)&CStdStubBuffer_Delegating_Vtbl; }