diff --git a/content/en_community.php b/content/en_community.php
index 598e4bc..b37339f 100755
--- a/content/en_community.php
+++ b/content/en_community.php
@@ -16,35 +16,43 @@
     A great way to stay up to date with Kura activity is to subscribe to the Kura email list provided by Eclipse. Sign up for the
     mailing list <a href="https://dev.eclipse.org/mailman/listinfo/kura-dev" target="_blank">here</a>.
   </p>
+
   <h2 id="issue-tracker">Issue Tracker</h2>
   <p>
     Issues and bugs related to Kura are tracked with Github Issues. Please enter any issues you find
     <a href="https://github.com/eclipse/kura/issues" target="_blank">there</a>.
+  </p>
+
   <h2 id="discussion-forum">Discussion Forum</h2>
   <p>
     A general discussion forum can be found <a href="http://eclipse.org/forums/eclipse.kura" target="_blank">here</a>.
   </p>
+
   <h2 id="contributing">Contributing</h2>
   <p>
     An overview of the contribution process is <a href="https://wiki.eclipse.org/Development_Resources/Contributing_via_Git" target="_blank">here</a>. The key points are:
-    <ol>
-        <li>Ensure you have signed the Eclipse Foundation Contributor License Agreement (CLA)</li>
-        <li>Fork the git repository of the component you want to contribute to</li>
-        <li>Fix the issue and add suitable tests</li>
-        <li>Ensure your contribution is collapsed into a single commit</li>
-        <li>Submit your contribution to the corresponding git repository</li>
-    </ol>
   </p>
+  <ol>
+      <li>Ensure you have signed the Eclipse Foundation Contributor License Agreement (CLA)</li>
+      <li>Fork the git repository of the component you want to contribute to</li>
+      <li>Fix the issue and add suitable tests</li>
+      <li>Ensure your contribution is collapsed into a single commit</li>
+      <li>Submit your contribution to the corresponding git repository</li>
+  </ol>
+
+
   <h2 id="security-issues">Security Issues</h2>
   <p>
       Vulnerabilities can be reported either via email to the Eclipse Security Team or directly with a project via the Eclipse Foundation's Bugzilla instance. For more
       information, please visit <a href="https://www.eclipse.org/security/">here</a>.
   </p>
+
   <h2 id="validation">Validation</h2>
   <p>
     Use <a href="http://www.eclipse.org/downloads/download.php?file=/kura/docs/qa/Kura_Test_Specification.xlsx" target="_blank">this spreadsheet</a> as a baseline for
 	performing validation on Eclipse Kura.
   </p>
+
   <h2 id="benefactors">Benefactors</h2>
   <p>
 	YourKit is kindly supporting this open source project with its full-featured Java Profiler.
diff --git a/content/en_downloads.php b/content/en_downloads.php
index 30fbb41..14bed37 100755
--- a/content/en_downloads.php
+++ b/content/en_downloads.php
@@ -29,14 +29,14 @@
       <div class="alert alert-info">
           Note: some old Kura versions do not provide an EPL compatible Web UI. EPL compatibility is reported in the dedicated column in the downloads table.
       </div>
-  </section>
 
-  <section>
-    <div id="downloads-filters" class="form-inline text-right"></div>
+      <div>
+        <div id="downloads-filters" class="form-inline text-right"></div>
 
-    <div style="max-height: 600px; overflow: scroll">
-      <table id="downloads-table" class="table"></table>
-    </div>
+        <div style="max-height: 600px; overflow: scroll">
+          <table id="downloads-table" class="table"></table>
+        </div>
+      </div>
   </section>
 
   <section>
@@ -50,7 +50,7 @@
 
   <script src="content/javascript/table.js"></script>
 
-  <script defer>
+  <script>
     var renderLink = function (url) {
       var link = document.createElement('a')
       link.className = "fa fa-download"
diff --git a/include/default-layout.php b/include/default-layout.php
index 8e940d3..edac5f3 100755
--- a/include/default-layout.php
+++ b/include/default-layout.php
@@ -25,7 +25,7 @@
 
 $Theme->setPageKeywords('iot, m2m, kura, gateway, java, osgi, embedded');
 $Theme->setPageTitle("Eclipse Kura");
-$Theme->setBaseUrl('http://www.eclipse.org/kura/');
+$Theme->setBaseUrl('http://www.eclipse.org/');
 
 if (isset($Nav)) {
   $Theme->setNav($Nav);
@@ -112,6 +112,8 @@
 include ($path);
 echo('<script>
 document.querySelector(".eclipse-more .dropdown-toggle").innerHTML = "Community<b class=caret></b>"
+document.querySelector(".wrapper-logo-default a").setAttribute("href", "https://www.eclipse.org/kura/")
+document.querySelector(".wrapper-logo-mobile a").setAttribute("href",  "https://www.eclipse.org/kura/")
 </script>');
 $html = ob_get_clean();
 $Theme->setHtml($html);
