A new heuristic algorithm to solve the problem of dead-lock avoidance in a distributed system with multiple resource types by an appropriate modification of the well known Banker's algorithm is proposed. The paper reports results of simulation experiments carried out to compare our approach with a fully centralized Banker's algorithm by using two performance criteria: average service time for a request, and the amount of degradation in resource utilization (i.e. a situation where a specific request cannot be granted by our algorithm but could have been granted by the centralized Banker's algorithm).