diff --git a/ChangeLog b/ChangeLog
index 76b9558..7997dd8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2.5.1
+- Features
+  - Allow ';' as separator for URI selectors
+    (RFC 1866 section 8.2.1)
+  - Warn if ',' is used as selector separator
+
 2.5.0
 - Features
   - Rewrite selector and property handling to keep
diff --git a/VERSION.cmake b/VERSION.cmake
index 18bcd01..2cad2f9 100644
--- a/VERSION.cmake
+++ b/VERSION.cmake
@@ -44,10 +44,10 @@
 #    set COMPATMINOR to MINOR. (binary incompatible change)
 #
 
-# Package version 2.5.0
+# Package version 2.5.1
 SET(OPENWSMAN_MAJOR "2")
 SET(OPENWSMAN_MINOR "5")
-SET(OPENWSMAN_PATCH "0")
+SET(OPENWSMAN_PATCH "1")
 
 # Plugin API 2.2
 SET(OPENWSMAN_PLUGIN_API_MAJOR "2")
diff --git a/src/lib/u/uri.c b/src/lib/u/uri.c
index abc6ecd..25ddb9c 100644
--- a/src/lib/u/uri.c
+++ b/src/lib/u/uri.c
@@ -232,6 +232,17 @@
 
 		u_trim(key);
 		u_trim(val);
+          /* if we parse a URI (& separator) and the value contains
+           * ',' and '=', then the query probably has wrong syntax
+           * and uses ',' instead of '&'
+           */
+          if (*separator == '&') {
+            if (strchr(val, ',')) {
+              if (strchr(val, '=')) {
+                fprintf(stderr, "Maybe wrong use of ',' separator in URI, should be '&'\n");
+              }
+            }
+          }
 		u_trim_quotes(val);
 		if (u_string_unify(key) || u_string_unify(val)) {
 			u_free(key);
@@ -259,10 +270,17 @@
 	return NULL;
 }
 
+/*
+ * parse query according to
+ * http://en.wikipedia.org/wiki/URI_scheme#Generic_syntax
+ * and  RFC 1866 section 8.2.1 : by Tim Berners-Lee in 1995 encourages CGI authors to support ';' in addition to '&'.
+ *
+ */
+
 hash_t *
 u_parse_query(const char *query)
 {
-  return _u_parse(query, "&");
+  return _u_parse(query, "&;");
 }
 
 hash_t *
