It seems like the preferred/expected way to create a branch is by specifying --branch on the checkin command.  Still, this command is here, and it should work the right way (or be removed altogether).  Here's a 1-line patch for this:

<verbatim>
Index: src/branch.c
===================================================================
--- src/branch.c
+++ src/branch.c
@@ -53,10 +53,11 @@
   if( g.argc<5 ){
     usage("new BRANCH-NAME BASE-CHECK-IN ?-bgcolor COLOR?");
   }
   db_find_and_open_repository(1);
   noSign = db_get_int("omitsign", 0)|noSign;
+  if( db_get_boolean("clearsign", 0)==0 ){ noSign = 1; }

   /* fossil branch new name */
   zBranch = g.argv[3];
   if( zBranch==0 || zBranch[0]==0 ){
     fossil_panic("branch name cannot be empty");
</verbatim>