diff --git a/bundleplugin/DEPENDENCIES b/bundleplugin/DEPENDENCIES
new file mode 100644
index 0000000..9f7ade6
--- /dev/null
+++ b/bundleplugin/DEPENDENCIES
@@ -0,0 +1,48 @@
+Apache Felix Bundle Maven Plugin
+Copyright 2006-2011 The Apache Software Foundation
+
+This software was developed at the Apache Software Foundation
+(http://www.apache.org) and may have dependencies on other
+Apache software licensed under Apache License 2.0.
+
+I. Included Third-Party Software
+
+This product includes software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright 2006-2011 The OSGi Alliance.
+Licensed under the Apache License 2.0.
+
+This product includes software developed by Peter Kriens
+(http://www.aqute.biz/Code/Bnd)
+Copyright 2006-2011 aQute, All rights reserved
+Licensed under the Apache License 2.0.
+
+
+II. Used Third-Party Software
+
+This product uses software developed by Peter Kriens
+(http://www.aqute.biz/Code/Bnd)
+Copyright 2006-2011 aQute, All rights reserved
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The OSGi Alliance (http://www.osgi.org/).
+Copyright 2006-2011 The OSGi Alliance.
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Apache Software Foundation (http://www.apache.org/).
+Licensed under the Apache License 2.0.
+
+This product uses software developed at
+The Codehaus (http://www.codehaus.org)
+Licensed under the Apache License 2.0.
+
+This product uses software from http://kxml.sourceforge.net.
+Copyright (c) 2002-2011, Stefan Haustein, Oberhausen, Rhld., Germany.
+Licensed under the BSD License.
+
+
+III. License Summary
+- Apache License 2.0
+- BSD License
diff --git a/bundleplugin/NOTICE b/bundleplugin/NOTICE
index 5214505..badb8fd 100644
--- a/bundleplugin/NOTICE
+++ b/bundleplugin/NOTICE
@@ -1,9 +1,6 @@
 Apache Felix Bundle Maven Plugin
 Copyright 2006-2011 The Apache Software Foundation
 
-
-I. Included Software
-
 This product includes software developed at
 The Apache Software Foundation (http://www.apache.org/).
 Licensed under the Apache License 2.0.
@@ -17,33 +14,3 @@
 (http://www.aqute.biz/Code/Bnd)
 Copyright 2006-2011 aQute, All rights reserved
 Licensed under the Apache License 2.0.
-
-
-II. Used Software
-
-This product uses software developed by Peter Kriens
-(http://www.aqute.biz/Code/Bnd)
-Copyright 2006-2011 aQute, All rights reserved
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The OSGi Alliance (http://www.osgi.org/).
-Copyright 2006-2011 The OSGi Alliance.
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The Apache Software Foundation (http://www.apache.org/).
-Licensed under the Apache License 2.0.
-
-This product uses software developed at
-The Codehaus (http://www.codehaus.org)
-Licensed under the Apache License 2.0.
-
-This product uses software from http://kxml.sourceforge.net.
-Copyright (c) 2002-2011, Stefan Haustein, Oberhausen, Rhld., Germany.
-Licensed under the BSD License.
-
-
-III. License Summary
-- Apache License 2.0
-- BSD License
