diff --git a/NOTICE b/NOTICE
index 12c4f13..3ff04b3 100644
--- a/NOTICE
+++ b/NOTICE
@@ -1,5 +1,5 @@
 Apache Wicket
-Copyright 2006-2012 The Apache Software Foundation
+Copyright 2006-2016 The Apache Software Foundation
 
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
@@ -12,21 +12,62 @@
     AUTOMATICALLY INCLUDE THE NOTICE IN THIS FILE.
 
 ---------------------------------------------------------------------------
-src/./wicket-guice
+src/./wicket-core
 ---------------------------------------------------------------------------
    Apache Wicket
-   Copyright 2006-2012 Apache Software Foundation
+   Copyright 2006-2011 Apache Software Foundation
 
    This product includes software developed at
    The Apache Software Foundation (http://www.apache.org/).
 
-   This product includes Guice, developed at Google, and licensed
-   under the Apache License 2.0. (http://code.google.com/p/google-guice/).
+   This product includes software from QOS.ch (http://slf4j.org) licensed under the X11 license
+   Copyright (c) 2004-2008 QOS.ch
+   
+   Contains Diff library from Mavens JRCS, released under
+   The Apache Software License, Version 1.1.
+   (c) 1999-2003
+
+   org.apache.wicket.markup.html.form.upload.MultiFileUploadField.js is taken from [1]
+   and has the following notice:
+      "Licence:
+       Use this however/wherever you like, just don't blame me if it breaks
+       anything.
+
+       Credit:
+       If you're nice, you'll leave this bit:
+
+       Class by Stickman -- http://www.the-stickman.com
+       with thanks to:
+       [for Safari fixes]
+          Luis Torrefranca -- http://www.law.pitt.edu
+          and
+          Shawn Parker & John Pennypacker -- http://www.fuzzycoconut.com
+       [for duplicate name bug]
+          'neal'"
+   [1]: http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/
+
+---------------------------------------------------------------------------
+src/./wicket-datetime
+---------------------------------------------------------------------------
+   Apache Wicket Date Time
+   Copyright 2006-2011 Apache Software Foundation
+
+   This product includes software developed at
+   The Apache Software Foundation (http://www.apache.org/).
+   
+   Contains code of the Yahoo User Interface library (version: 2.8.2r1),
+   released under the BSD License:
+   http://developer.yahoo.net/yui/license.txt
+   Copyright (c) 2010, Yahoo! Inc.
+
+   This product includes software developed by
+   Joda.org (http://www.joda.org/).
+   
 ---------------------------------------------------------------------------
 src/./wicket-examples
 ---------------------------------------------------------------------------
    Apache Wicket Examples
-   Copyright 2006-2012 Apache Software Foundation
+   Copyright 2006-2011 Apache Software Foundation
 
    This product includes software developed at
    The Apache Software Foundation (http://www.apache.org/).
@@ -66,56 +107,13 @@
    which is released under CDDL 1.0 license (http://www.opensource.org/licenses/cddl1.php).
 
 ---------------------------------------------------------------------------
-src/./wicket-core
+src/./wicket-guice
 ---------------------------------------------------------------------------
    Apache Wicket
-   Copyright 2006-2012 Apache Software Foundation
+   Copyright 2006-2011 Apache Software Foundation
 
    This product includes software developed at
    The Apache Software Foundation (http://www.apache.org/).
 
-   This product includes software from QOS.ch (http://slf4j.org) licensed under the X11 license
-   Copyright (c) 2004-2008 QOS.ch
-   
-   This product includes software developed by the jQuery Foundation (http://jquery.com/), released under MIT.
-
-   Contains Diff library from Mavens JRCS, released under
-   The Apache Software License, Version 1.1.
-   (c) 1999-2003
-
-   org.apache.wicket.markup.html.form.upload.MultiFileUploadField.js is taken from [1]
-   and has the following notice:
-      "Licence:
-       Use this however/wherever you like, just don't blame me if it breaks
-       anything.
-
-       Credit:
-       If you're nice, you'll leave this bit:
-
-       Class by Stickman -- http://www.the-stickman.com
-       with thanks to:
-       [for Safari fixes]
-          Luis Torrefranca -- http://www.law.pitt.edu
-          and
-          Shawn Parker & John Pennypacker -- http://www.fuzzycoconut.com
-       [for duplicate name bug]
-          'neal'"
-   [1]: http://the-stickman.com/web-development/javascript/upload-multiple-files-with-a-single-file-element/
-
----------------------------------------------------------------------------
-src/./wicket-datetime
----------------------------------------------------------------------------
-   Apache Wicket Date Time
-   Copyright 2006-2012 Apache Software Foundation
-
-   This product includes software developed at
-   The Apache Software Foundation (http://www.apache.org/).
-   
-   Contains code of the Yahoo User Interface library (version: 2.8.2r1),
-   released under the BSD License:
-   http://developer.yahoo.net/yui/license.txt
-   Copyright (c) 2010, Yahoo! Inc.
-
-   This product includes software developed by
-   Joda.org (http://www.joda.org/).
-   
+   This product includes Guice, developed at Google, and licensed
+   under the Apache License 2.0. (http://code.google.com/p/google-guice/).
diff --git a/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml b/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
index 07e39fd..9db544f 100644
--- a/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
+++ b/archetypes/quickstart/src/main/resources/archetype-resources/pom.xml
@@ -42,7 +42,7 @@
 		</license>
 	</licenses>
 	<properties>
-		<wicket.version>6.22.0-SNAPSHOT</wicket.version>
+		<wicket.version>6.22.0</wicket.version>
 		<jetty.version>7.6.13.v20130916</jetty.version>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<!-- allowed values: R7, 1.0, 1.5, 2.0 or none -->
