diff --git a/pyqode/core/managers/file.py b/pyqode/core/managers/file.py
index <HASH>..<HASH> 100644
--- a/pyqode/core/managers/file.py
+++ b/pyqode/core/managers/file.py
@@ -167,7 +167,7 @@ class FileManager(Manager):
                 content, self.get_mimetype(path), self.encoding)
             self.editor.setDocumentTitle(self.editor.file.name)
         self.opening = False
-        QtCore.QTimer.singleShot(1, self._restore_cached_pos)
+        self._restore_cached_pos()
 
     def _restore_cached_pos(self):
         pos = Cache().get_cursor_position(self.path)
diff --git a/pyqode/core/modes/checker.py b/pyqode/core/modes/checker.py
index <HASH>..<HASH> 100644
--- a/pyqode/core/modes/checker.py
+++ b/pyqode/core/modes/checker.py
@@ -241,7 +241,10 @@ class CheckerMode(Mode, QtCore.QObject):
         usd = message.block.userData()
         try:
             if usd and usd.messages:
-                usd.messages.remove(message)
+                try:
+                    usd.messages.remove(message)
+                except ValueError:
+                    pass
         except AttributeError:
             pass
         self._messages.remove(message)
Do not use a timer for jumping to the cached cursor position.

The difference is that the cursor won't be centered (if centerOnScroll was true). This fix a bug with goto definition in other files in pyqode.python