--- gw/smsc/smsc_smpp.c	2009-10-19 14:14:38.000000000 +0300
+++ gw/smsc/smsc_smpp.c	2009-10-19 14:20:20.000000000 +0300
@@ -1322,9 +1322,9 @@
 
                 /* get err & status code */
                 if ((curr = octstr_search(respstr, octstr_imm("stat:"), 0)) != -1) {
-                    vpos = octstr_search_char(respstr, ' ', curr);
-                    if ((vpos-curr >0) && (vpos != -1))
-                        stat = octstr_copy(respstr, curr+5, vpos-curr-5);
+                    if ((vpos = octstr_search_char(respstr, ' ', curr)) == -1)
+                        vpos = octstr_len(respstr) + 1;
+                    stat = octstr_copy(respstr, curr+5, vpos-curr-5);
                 } else {
                     stat = NULL;
                 }
