diff --git a/mod/contacts.php b/mod/contacts.php
index 6863bd7370..8f851e9e0e 100644
--- a/mod/contacts.php
+++ b/mod/contacts.php
@@ -427,7 +427,7 @@ function contacts_content(&$a) {
 				'$alt_text' => $alt_text,
 				'$dir_icon' => $dir_icon,
 				'$thumb' => $rr['thumb'], 
-				'$name' => substr($rr['name'],0,20),
+				'$name' => $rr['name'],
 				'$username' => $rr['name'],
 				'$sparkle' => $sparkle,
 				'$url' => $url
diff --git a/view/theme/dispy/photo-menu.jpg b/view/theme/dispy/photo-menu.jpg
new file mode 100644
index 0000000000..fde5eb5352
Binary files /dev/null and b/view/theme/dispy/photo-menu.jpg differ
diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css
index e9d11d601f..aa8d82bbb4 100644
--- a/view/theme/dispy/style.css
+++ b/view/theme/dispy/style.css
@@ -688,12 +688,17 @@ div[id$="wrapper"] br { clear: left; }
  */
 
 .view-contact-wrapper,
-.contact-entry-wrapper { float: left; margin-right: 20px; margin-bottom: 20px; position: relative;}
+.contact-entry-wrapper { float: left; margin-right: 20px; margin-bottom: 20px; width: 120px; height: 120px; position: relative;}
 .contact-entry-direction-wrapper {position: absolute; top: 20px;}
 .contact-entry-edit-links { position: absolute; top: 60px; }
 .contact-entry-photo {
 	margin-left:20px;
 }
+.contact-entry-name { width: 120px; overflow: hidden; }
+.contact-entry-photo {
+	position: relative;
+}
+
 .contact-entry-edit-links .icon {	
 	border: 1px solid #babdb6;
     -webkit-border-radius: 3px;
@@ -720,6 +725,35 @@ div[id$="wrapper"] br { clear: left; }
 #contact-edit-poll-text { display: inline; }
 #contact-edit-end { clear: both; }
 
+.contact-photo-menu-button {
+       position: absolute;
+       background-image: url("photo-menu.jpg");
+       background-position: top left; 
+       background-repeat: no-repeat;
+       margin: 0px; padding: 0px;
+       width: 16px;
+       height: 16px;
+       top: 64px; left:0px;
+       overflow: hidden;
+       text-indent: 40px;
+       display: none;
+       
+}
+.contact-photo-menu {
+       width: auto;
+       border: 2px solid #444444;
+       background: #FFFFFF;
+       position: absolute;
+       left: 0px; top: 90px;
+       display: none;
+       z-index: 10000;
+}
+.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none }
+.contact-photo-menu li a { display: block; padding: 2px; }
+.contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
+
+
+
 /**
  * 	register, settings & profile forms
  */
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index e3c643bfc7..6ac28cb954 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -761,6 +761,8 @@ input#dfrn-url {
 .contact-entry-name {
 	float: left;
 	margin-left: 0px;
+	width: 120px;
+	overflow: hidden;
 }
 .contact-entry-edit-links {
 	margin-top: 6px;
diff --git a/view/theme/loozah/style.css b/view/theme/loozah/style.css
index c58bda5bb3..74d9058f70 100644
--- a/view/theme/loozah/style.css
+++ b/view/theme/loozah/style.css
@@ -841,7 +841,8 @@ input#dfrn-url {
 
 .contact-entry-wrapper {
 	float: left;
-	width: 180px;
+	width: 120px;
+	height: 120px;
 }
 
 .contact-entry-direction-icon {
@@ -857,7 +858,9 @@ input#dfrn-url {
 }
 .contact-entry-name {
 	float: left;
-	margin-left: 30px;
+	margin-left: 0px;
+	width: 120px;
+	oveflow: hidden;
 }
 .contact-entry-edit-links {
 	margin-top: 6px;
@@ -875,6 +878,7 @@ input#dfrn-url {
 }
 .contact-entry-photo {
 	float: left;
+	position: relative;
 }
 .contact-entry-end {
 	clear: both;
@@ -884,6 +888,33 @@ input#dfrn-url {
 	clear: both;
 }
 
+.contact-photo-menu-button {
+       position: absolute;
+       background-image: url("photo-menu.jpg");
+       background-position: top left; 
+       background-repeat: no-repeat;
+       margin: 0px; padding: 0px;
+       width: 16px;
+       height: 16px;
+       top: 64px; left:0px;
+       overflow: hidden;
+       text-indent: 40px;
+       display: none;
+       
+}
+
+.contact-photo-menu {
+       width: 100px;
+       border: 2px solid #444444;
+       background: #FFFFFF;
+       position: absolute;
+       left: 0px; top: 90px;
+       display: none;
+       z-index: 10000;
+}
+.contact-photo-menu ul { margin:0px; padding: 0px; list-style: none }
+.contact-photo-menu li a { display: block; padding: 2px; }
+.contact-photo-menu li a:hover { color: #FFFFFF; background: #3465A4; text-decoration: none; }
 
 #fsuggest-desc, #fsuggest-submit-wrapper {
 	margin-top: 15px;