diff --git a/src/dialogs.py b/src/dialogs.py
index b27185fbdba1c1a6b03ed4f0e1fb026d4a4fd0e0..ddfb68761cf7a86b98239a388df3b11fc0ab88ce 100644
--- a/src/dialogs.py
+++ b/src/dialogs.py
@@ -2295,6 +2295,18 @@ class ImageChooserDialog(FileChooserDialog):
 			return
 		widget.get_preview_widget().set_from_pixbuf(pixbuf)
 
+class AvatarChooserDialog(ImageChooserDialog):
+	def __init__(self, path_to_file = '', on_response_ok = None,
+	on_response_cancel = None, on_response_clear = None):
+		ImageChooserDialog.__init__(self, path_to_file, on_response_ok,
+			on_response_cancel)
+		button = gtk.Button(None, gtk.STOCK_CLEAR)
+		if on_response_clear:
+			button.connect('clicked', on_response_clear)
+		button.show_all()
+		self.action_area.pack_start(button)
+		self.action_area.reorder_child(button, 0)
+
 class AddSpecialNotificationDialog:
 	def __init__(self, jid):
 		'''jid is the jid for which we want to add special notification
diff --git a/src/profile_window.py b/src/profile_window.py
index 4d5b56ab92c99d3b013f5d646497c5e0db67ddc3..c7f53d904f579c27d888c40e00855aec8368f3ac 100644
--- a/src/profile_window.py
+++ b/src/profile_window.py
@@ -148,7 +148,12 @@ class ProfileWindow:
 			# returns None if unknown type
 			self.avatar_mime_type = mimetypes.guess_type(path_to_file)[0]
 
-		self.dialog = dialogs.ImageChooserDialog(on_response_ok = on_ok)
+		def on_clear(widget):
+			self.dialog.destroy()
+			self.on_clear_button_clicked(widget)
+
+		self.dialog = dialogs.AvatarChooserDialog(on_response_ok = on_ok,
+			on_response_clear = on_clear)
 
 	def on_PHOTO_button_press_event(self, widget, event):
 		'''If right-clicked, show popup'''