Index: translation.module
===================================================================
--- translation.module	(revision 21)
+++ translation.module	(working copy)
@@ -292,7 +292,7 @@
         }
         break;
       case 'prepare': // When creating a translation 
-        if (!$node->nid && isset($_GET['translation']) && ($nid = $_GET['translation']) && ($language = $_GET['language']) && user_access('translate nodes')) {
+        if (!$node->nid && isset($_GET['translation']) && ($nid = $_GET['translation']) && ($language = $_GET['language']) && (user_access('translate nodes') || translation_access(node_load($_GET['translation'])))) {
           // We are translating a node from a source node
           // Load the node to be translated and populate fields
           translation_node_prepare($node, $nid, $language);
