diff --git a/core/css/styles.css b/core/css/styles.css
index 823e5af08a4fa8753b955ff6cb8c8c6ebf11d048..e44b7adcd55004fe1ca3cd464db8c523d727d8b8 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -221,11 +221,11 @@ label.infield { cursor:text !important; top:1.05em; left:.85em; }
 #login form .errors { background:#fed7d7; border:1px solid #f00; list-style-indent:inside; margin:0 0 2em; padding:1em; }
 
 /* Show password toggle */
-#show { position:absolute; right:1em; top:.8em; float:right; }
-#show, #personal-show { display:none; }
-#show + label { right:1em; top:1.25em!important; }
-#show:checked + label, #personal-show:checked + label { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter:alpha(opacity=80); opacity:.8; }
-#show + label, #personal-show + label {
+#show, #dbpassword { position:absolute; right:1em; top:.8em; float:right; }
+#show, #dbpassword, #personal-show { display:none; }
+#show + label, #dbpassword + label { right:1em; top:1.25em!important; }
+#show:checked + label, #dbpassword:checked + label, #personal-show:checked + label { -ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=80)"; filter:alpha(opacity=80); opacity:.8; }
+#show + label, #dbpassword + label, #personal-show + label {
 	position:absolute!important; height:14px; width:24px;
 	background-image:url("../img/actions/toggle.png"); background-repeat:no-repeat;
 	-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=30)"; filter:alpha(opacity=30); opacity:.3;
diff --git a/core/js/js.js b/core/js/js.js
index 1bb546f708180fc4cc6cd2bea2276d773b2aee0e..d85e6d88f8aed5529840b2a10875b98745596ab3 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -605,6 +605,7 @@ $(document).ready(function(){
 	setShowPassword($('#password'), $('label[for=show]'));
 	setShowPassword($('#adminpass'), $('label[for=show]'));
 	setShowPassword($('#pass2'), $('label[for=personal-show]'));
+	setShowPassword($('#dbpass'), $('label[for=dbpassword]'));
 
 	//use infield labels
 	$("label.infield").inFieldLabels({
diff --git a/core/templates/installation.php b/core/templates/installation.php
index c70903cba552ae4f3a3d2c6f3ba37be830161fe1..c034fe5b52f90acaa4930b57ca90b03b7f9a4bff 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -138,9 +138,11 @@
 					value="<?php p(OC_Helper::init_var('dbuser')); ?>" autocomplete="off" />
 			</p>
 			<p class="infield groupmiddle">
-				<label for="dbpass" class="infield"><?php p($l->t( 'Database password' )); ?></label>
-				<input type="password" name="dbpass" id="dbpass" placeholder=""
+				<input type="password" name="dbpass" id="dbpass" placeholder="" data-typetoggle="#dbpassword" 
 					value="<?php p(OC_Helper::init_var('dbpass')); ?>" />
+				<label for="dbpass" class="infield"><?php p($l->t( 'Database password' )); ?></label>
+				<input type="checkbox" id="dbpassword" name="dbpassword" />
+				<label for="dbpassword"></label>
 			</p>
 			<p class="infield groupmiddle">
 				<label for="dbname" class="infield"><?php p($l->t( 'Database name' )); ?></label>