diff --git a/xmlout.js b/xmlout.js
index e8dad06..1966f69 100644
--- a/xmlout.js
+++ b/xmlout.js
@@ -127,12 +127,7 @@ function _topupRequest(task, pendingOnConnectError) {
             value['RESPONSECODE'] = '68';
         }
 
-        if (value['RESPONSECODE'] == '00' && value['SN'] && value['SN'].trim()) {
-            value['MESSAGE'] = 'SN=' + value['SN'].trim() + '; ' + value['MESSAGE'];
-        }
-        else if (value['RESPONSECODE'] == '00' && config.h2h_out.parse_sn == 'YES') {
-            value['MESSAGE'] = 'SN=' + parseSN(value['MESSAGE']) + '; ' + value['MESSAGE'];
-        }
+        value['MESSAGE'] = prefixMessageWithSN(value);
 
         callbackReport(
             task.requestId, value['RESPONSECODE'], value['MESSAGE'], null, JSON.stringify({methodName: methodName, response: value})
@@ -140,6 +135,24 @@ function _topupRequest(task, pendingOnConnectError) {
     });
 }
 
+function prefixMessageWithSN(data) {
+
+    if (data['RESPONSECODE'] != '00') {
+        return data['MESSAGE'];
+    }
+
+    if (data['MESSAGE'].search(/^SN=.+;/) == -1) {
+        if (data['SN'] && data['SN'].trim()) {
+            return 'SN=' + data['SN'].trim() + '; ' + data['MESSAGE'];
+        }
+        else if (config.h2h_out.parse_sn == 'YES') {
+            return = 'SN=' + parseSN(data['MESSAGE']) + '; ' + data['MESSAGE'];
+        }
+    }
+
+    return data['MESSAGE'];
+}
+
 function createServer() {
 
     logger.info('Creating XML-RPC server on port ' + config.h2h_out.listen_port);
@@ -166,9 +179,7 @@ function createServer() {
                 value['RESPONSECODE'] = '68';
             }
 
-            if (value['RESPONSECODE'] == '00' && config.h2h_out.parse_sn == 'YES') {
-                value['MESSAGE'] = 'SN=' + parseSN(value['MESSAGE']) + '; ' + value['MESSAGE'];
-            }
+            value['MESSAGE'] = prefixMessageWithSN(value);
 
             callbackReport(
                 value['REQUESTID'], value['RESPONSECODE'], value['MESSAGE'], null, JSON.stringify({methodName: 'topUpReport', msg: value})