diff --git a/Lib/lib-tk/Canvas.py b/Lib/lib-tk/Canvas.py
index 801fd8b..51692e1 100644
--- a/Lib/lib-tk/Canvas.py
+++ b/Lib/lib-tk/Canvas.py
@@ -56,10 +56,10 @@
 		self.canvas.focus(self.id)
 	def gettags(self):
 		return self.canvas.gettags(self.id)
-	def icursor(self):
-		self.canvas.icursor(self.id)
-	def index(self):
-		return self.canvas.index(self.id)
+	def icursor(self, index):
+		self.canvas.icursor(self.id, index)
+	def index(self, index):
+		return self.canvas.index(self.id, index)
 	def insert(self, beforethis, string):
 		self.canvas.insert(self.id, beforethis, string)
 	def lower(self, belowthis=None):
@@ -154,7 +154,7 @@
 	def gettags(self):
 		return self.canvas.tk.splitlist(self._do('gettags', self.tag))
 	def icursor(self, index):
-		return self._do('icursor')
+		return self._do('icursor', index)
 	def index(self, index):
 		return self.canvas.tk.getint(self._do('index', index))
 	def insert(self, beforeThis, string):
diff --git a/Lib/tkinter/Canvas.py b/Lib/tkinter/Canvas.py
index 801fd8b..51692e1 100755
--- a/Lib/tkinter/Canvas.py
+++ b/Lib/tkinter/Canvas.py
@@ -56,10 +56,10 @@
 		self.canvas.focus(self.id)
 	def gettags(self):
 		return self.canvas.gettags(self.id)
-	def icursor(self):
-		self.canvas.icursor(self.id)
-	def index(self):
-		return self.canvas.index(self.id)
+	def icursor(self, index):
+		self.canvas.icursor(self.id, index)
+	def index(self, index):
+		return self.canvas.index(self.id, index)
 	def insert(self, beforethis, string):
 		self.canvas.insert(self.id, beforethis, string)
 	def lower(self, belowthis=None):
@@ -154,7 +154,7 @@
 	def gettags(self):
 		return self.canvas.tk.splitlist(self._do('gettags', self.tag))
 	def icursor(self, index):
-		return self._do('icursor')
+		return self._do('icursor', index)
 	def index(self, index):
 		return self.canvas.tk.getint(self._do('index', index))
 	def insert(self, beforeThis, string):
