diff -pruN 2.7-1/debian/changelog 2.7-1ubuntu1/debian/changelog
--- 2.7-1/debian/changelog	2007-12-31 02:13:19.000000000 +0000
+++ 2.7-1ubuntu1/debian/changelog	2007-12-31 02:11:48.000000000 +0000
@@ -1,3 +1,12 @@
+skyutils (2.7-1ubuntu1) hardy; urgency=low
+
+  * Properly handle redirects if only a query part is given in the Location
+    header.
+  * Modify Maintainer value to match the DebianMaintainerField
+    specification.
+
+ -- Soren Hansen <soren@ubuntu.com>  Sun, 30 Dec 2007 23:29:56 +0100
+
 skyutils (2.7-1) unstable; urgency=low
 
   * New upstream release
diff -pruN 2.7-1/debian/control 2.7-1ubuntu1/debian/control
--- 2.7-1/debian/control	2007-12-31 02:13:19.000000000 +0000
+++ 2.7-1ubuntu1/debian/control	2007-12-31 02:11:48.000000000 +0000
@@ -1,7 +1,8 @@
 Source: skyutils
 Section: devel
 Priority: optional
-Maintainer: RISKO Gergely <risko@debian.org>
+Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
+XSBC-Original-Maintainer: RISKO Gergely <risko@debian.org>
 Build-Depends: debhelper (>> 2.0.0), libbz2-dev, libssl-dev, libz-dev
 Standards-Version: 3.6.1.0
 
diff -pruN 2.7-1/src/web.c 2.7-1ubuntu1/src/web.c
--- 2.7-1/src/web.c	2004-11-04 09:50:39.000000000 +0000
+++ 2.7-1ubuntu1/src/web.c	2007-12-31 02:11:48.000000000 +0000
@@ -2283,11 +2283,22 @@ char *SU_AddLocationToUrl(const char *UR
 
       if(strcmp(ptr+strlen("http://")+(ssl_mode?1:0),Host) == 0) /* If requested the root of the site */
         SU_strcat(ptr,"/",len);
-      else
+      else if (*Location == '?')
       {
         i = strlen(ptr) - 1;
         while(i>=0)
         {
+          if(ptr[i] == '?')
+          {
+            ptr[i+1] = 0;
+            break;
+          }
+          i--;
+        }
+      } else {
+        i = strlen(ptr) - 1;
+        while(i>=0)
+        {
           if(ptr[i] == '/')
           {
             ptr[i+1] = 0;
