diff --git a/manifest b/manifest
index 28652fe3ac..9818296e6d 100644
--- a/manifest
+++ b/manifest
@@ -1,5 +1,5 @@
-C Add\sthe\sSQLITE_IOCAP_IMMUTABLE\sbit\sas\sa\spossible\sreturn\svalue\sfrom\nthe\sxDeviceCharacteristics\smethod\sin\sthe\sVFS.\s\sAdd\sthe\s"nolock"\sand\n"immutable"\squery\sparameters\sto\sURI\sfilenames.
-D 2014-05-07T15:46:04.082
+C Make\ssure\sthe\sgroup_concat()\sfunction\sreturns\san\sempty\sstring,\snot\sa\sNULL,\nif\sit\shas\sat\sleast\sone\sinput\srow.\s\sFix\sfor\sticket\s[55746f9e65f8587].
+D 2014-05-07T17:19:31.457
 F Makefile.arm-wince-mingw32ce-gcc d6df77f1f48d690bd73162294bbba7f59507c72f
 F Makefile.in dd2b1aba364ff9b05de41086f74407f285c57670
 F Makefile.linux-gcc 91d710bdc4998cb015f39edf3cb314ec4f4d7e23
@@ -177,7 +177,7 @@ F src/delete.c bcf8f72126cea80fc3d5bc5494cf19b3f8935aaf
 F src/expr.c 4f9e497c66e2f25a4d139357a778c84d5713207c
 F src/fault.c 160a0c015b6c2629d3899ed2daf63d75754a32bb
 F src/fkey.c 5269ef07b100763134f71b889327c333bd0989cf
-F src/func.c 2945bb2c4cdc0ac43733046285a4434310be1811
+F src/func.c 1db49570e01b31fd3cd00ff2c13da8f2f05e9051
 F src/global.c 1d7bb7ea8254ae6a68ed9bfaf65fcb3d1690b486
 F src/hash.c d139319967164f139c8d1bb8a11b14db9c4ba3cd
 F src/hash.h 8890a25af81fb85a9ad7790d32eedab4b994da22
@@ -578,7 +578,7 @@ F test/fts4merge4.test c19c85ca1faa7b6d536832b49c12e1867235f584
 F test/fts4noti.test aed33ba44808852dcb24bf70fa132e7bf530f057
 F test/fts4unicode.test 01ec3fe2a7c3cfff3b4c0581b83caa11b33efa36
 F test/full.test 6b3c8fb43c6beab6b95438c1675374b95fab245d
-F test/func.test c2cbfc23d554c5bf8678d0fb271aa4f8ef94839c
+F test/func.test ae97561957aba6ca9e3a7b8a13aac41830d701ef
 F test/func2.test 772d66227e4e6684b86053302e2d74a2500e1e0f
 F test/func3.test dbccee9133cfef1473c59ec07b5f0262b9d72f9a
 F test/func4.test 6beacdfcb0e18c358e6c2dcacf1b65d1fa80955f
@@ -1169,8 +1169,7 @@ F tool/vdbe_profile.tcl 67746953071a9f8f2f668b73fe899074e2c6d8c1
 F tool/warnings-clang.sh f6aa929dc20ef1f856af04a730772f59283631d4
 F tool/warnings.sh d1a6de74685f360ab718efda6265994b99bbea01
 F tool/win/sqlite.vsix a94fb9b1b1ef06efc2898975cdfcfa9643731f5e
-P 99d96765cc378fde7b285f4577ea2b5d130d9a61 e193aced2942e7405d0f45f90d4954b5663b4ba5
-R 397fc32d1bd36ead839d4c78d231487f
-T +closed e193aced2942e7405d0f45f90d4954b5663b4ba5
+P 1a0d7d3d9dd54b783e3a805961287dd01f94770c
+R 34db7d5fd6dab33bdc52f4f3fa07974a
 U drh
-Z 57c6364c482e6b92f356dd08394fdb62
+Z eb431a80b9a77174dcfd85ab3e28a5a4
diff --git a/manifest.uuid b/manifest.uuid
index 9da16245c0..d19d28ec95 100644
--- a/manifest.uuid
+++ b/manifest.uuid
@@ -1 +1 @@
-1a0d7d3d9dd54b783e3a805961287dd01f94770c
\ No newline at end of file
+0deac8737545a020d344be96fff16660a7977ab8
\ No newline at end of file
diff --git a/src/func.c b/src/func.c
index 6be963580c..50f76c33de 100644
--- a/src/func.c
+++ b/src/func.c
@@ -1541,7 +1541,7 @@ static void groupConcatStep(
     }
     zVal = (char*)sqlite3_value_text(argv[0]);
     nVal = sqlite3_value_bytes(argv[0]);
-    if( nVal ) sqlite3StrAccumAppend(pAccum, zVal, nVal);
+    if( nVal || firstTerm ) sqlite3StrAccumAppend(pAccum, zVal, nVal);
   }
 }
 static void groupConcatFinalize(sqlite3_context *context){
diff --git a/test/func.test b/test/func.test
index e3cec32153..98ae8ddeb5 100644
--- a/test/func.test
+++ b/test/func.test
@@ -1194,6 +1194,18 @@ do_test func-24.12 {
                           WHEN 'program' THEN null ELSE t1 END) FROM tbl1
   }
 } {,is,free,software}
+# Tests to verify ticket http://www.sqlite.org/src/tktview/55746f9e65f8587c0
+do_test func-24.13 {
+  execsql {
+    SELECT typeof(group_concat(x)) FROM (SELECT '' AS x);
+  }
+} {text}
+do_test func-24.14 {
+  execsql {
+    SELECT typeof(group_concat(x,''))
+      FROM (SELECT '' AS x UNION ALL SELECT '');
+  }
+} {text}
 
 
 # Use the test_isolation function to make sure that type conversions