diff --git a/src/Widgets/InfoBox.cs b/src/Widgets/InfoBox.cs
index a8084ea..2b645e7 100644
--- a/src/Widgets/InfoBox.cs
+++ b/src/Widgets/InfoBox.cs
@@ -60,7 +60,7 @@ namespace FSpot.Widgets
 					return;
 
 				show_tags = value;
-				tag_view.Visible = show_tags;
+				tag_entry.Visible = tag_view.Visible = show_tags;
 			}
 		}
 	
@@ -133,6 +133,8 @@ namespace FSpot.Widgets
 		private RatingSmall rating_view;
 
 		private TagView tag_view;
+		private TagEntry tag_entry;
+		
 		private string default_exposure_string;
 		
 		private bool show_name;
@@ -279,6 +281,14 @@ namespace FSpot.Widgets
 			tag_view = new TagView ();
 			info_table.Attach (tag_view, 0, 2, 9, 10, AttachOptions.Fill, AttachOptions.Fill, TABLE_XPADDING, TABLE_YPADDING);
 
+			tag_entry = new TagEntry (App.Instance.Database.Tags);
+				//tag_entry.KeyPressEvent += HandleTagEntryKeyPressEvent;
+				//tag_entry.TagsAttached += MainWindow.HandleTagEntryTagsAttached;
+				//tag_entry.TagsRemoved += MainWindow.HandleTagEntryRemoveTags;
+				//tag_entry.Activated += MainWindow.HandleTagEntryActivate;
+				//tag_entry_container.Add (tag_entry);
+			info_table.Attach (tag_entry, 0, 2, 10, 11, AttachOptions.Fill, AttachOptions.Fill, TABLE_XPADDING, TABLE_YPADDING);
+
 			info_table.ShowAll ();
 
 			EventBox eb = new EventBox ();
@@ -583,8 +593,10 @@ namespace FSpot.Widgets
 			file_size_label.Visible = show_file_size;
 			file_size_value_label.Visible = show_file_size;			
 			
-			if (show_tags)
+			if (show_tags) {
 				tag_view.Current = photo;
+				tag_entry.UpdateFromSelection (photos);
+			}
 			rating_label.Visible = show_rating;
 			rating_view.Visible = show_rating;
 			if (show_rating) {
