diff --git a/espeak.c b/espeak.c
index f09d3c4..f1f8064 100644
--- a/espeak.c
+++ b/espeak.c
@@ -170,9 +170,13 @@ static espeak_ERROR speak_text(struct synth_t *s)
if (espeakup_mode == ESPEAKUP_MODE_SPEAKUP && (s->len == 1)) {
char *buf;
int n;
- n = asprintf(&buf,
- "%c",
- s->buf[0]);
+ if (s->buf[0] == ' ')
+ n = asprintf(&buf,
+ " ");
+ else
+ n = asprintf(&buf,
+ "%c",
+ s->buf[0]);
if (n == -1) {
/* D'oh. Not much to do on allocation failure.
* Perhaps espeak will happen to say the character */