In service oriented systems, a variety of loosely coupled services are composed to support the execution of processes. One important research question in this context is, how such services can be selected by taking into account the values for the corresponding quality-of-service (QoS) attributes. Existing QoS-aware ex-ante service selection approaches build on preferences and requirements for the QoS attributes and evaluate the available services by means of a utility value. Due to many reasons like software bugs, high server workload or network failures an exante optimal service may temporarily be unavailable or fail during its execution, requiring replanning. Moreover, several QoS attribute values may be stochastic rather than deterministic.Thus, both the ex-post realized QoS values and the corresponding utility may significantly differ from the ex-ante computed ones, incurring a substantial loss of resources. In this paper we present a novel approach for the QoS-aware service selection considering both the effects of potential service failures and non-deterministic QoS values ex-ante. The approach is founded on an expected utility calculus. We find that considering the effects of potential service failures and non-deterministic QoS values leads to substantially better decisions in QoS-aware service selection.