Como alinhar verticalmente imagem e texto em um DIV usando CSS?

Eu tenho uma imagem e algum texto dentro de uma div e gostaria de colocar a imagem e o texto no centro vertical da div usando CSS. O problema é que eu não sei quantas linhas de texto eu terei, mas o texto e a imagem devem estar SEMPRE no meio. Por exemplo, quando há apenas uma linha de texto, o div deve ficar assim:

####################################
#  _______                         #
# |       |                        #
# |       |                        #
# | IMAGE |    text text text      #
# |       |                        #
# |_______|                        #
#                                  #
####################################

Se eventualmente eu tiver mais linhas ou a altura do texto for maior que a altura da imagem, a imagem deve estar alinhada, assim:

####################################
#                                  #
#              text text text      #
#  _______     text text text      #
# |       |    text text text      #
# |       |    text text text      #
# | IMAGE |    text text text      #
# |       |    text text text      #
# |_______|    text text text      #
#              text text text      #
#              text text text      #
#                                  #
####################################

Estou com problemas para obter esse efeito, existe alguma maneira sem usar o javascript para fazer isso?

Obs. O div pai do div que estou me referindo tem posição: relativa, então há outro problema.

questionAnswers(2)

yourAnswerToTheQuestion