diff --git a/Lib/lib-tk/Canvas.py b/Lib/lib-tk/Canvas.py
index 1e4a5c8..cba22d1 100644
--- a/Lib/lib-tk/Canvas.py
+++ b/Lib/lib-tk/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/lib-tk/Tkinter.py b/Lib/lib-tk/Tkinter.py
index d033823..4c7fd71 100644
--- a/Lib/lib-tk/Tkinter.py
+++ b/Lib/lib-tk/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(
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(
