diff --git a/Lib/tkinter/Canvas.py b/Lib/tkinter/Canvas.py
index 1e4a5c8..cba22d1 100755
--- a/Lib/tkinter/Canvas.py
+++ b/Lib/tkinter/Canvas.py
@@ -52,7 +52,7 @@
 		x1, y1, x2, y2 = self.canvas.bbox(self.id)
 		return (x1, y1), (x2, y2)
 	def bind(self, sequence=None, command=None):
-		return self.canvas.bind(self.id, sequence, command)
+		return self.canvas.tag_bind(self.id, sequence, command)
 	def config(self, cnf=None):
 		return self.canvas.itemconfig(self.id, cnf)
 	def coords(self, pts = ()):
diff --git a/Lib/tkinter/Tkinter.py b/Lib/tkinter/Tkinter.py
index d033823..4c7fd71 100755
--- a/Lib/tkinter/Tkinter.py
+++ b/Lib/tkinter/Tkinter.py
@@ -951,7 +951,7 @@
 	def tag_unbind(self, tagOrId, sequence):
 		self.tk.call(self._w, 'bind', tagOrId, sequence, '')
 	def tag_bind(self, tagOrId, sequence=None, func=None, add=None):
-		return self._bind((self._w, 'tag', 'bind', tagOrId),
+		return self._bind((self._w, 'bind', tagOrId),
 				  sequence, func, add)
 	def canvasx(self, screenx, gridspacing=None):
 		return self.tk.getdouble(self.tk.call(
