diff --git a/lib/Doctrine/ORM/ORMInvalidArgumentException.php b/lib/Doctrine/ORM/ORMInvalidArgumentException.php
index <HASH>..<HASH> 100644
--- a/lib/Doctrine/ORM/ORMInvalidArgumentException.php
+++ b/lib/Doctrine/ORM/ORMInvalidArgumentException.php
@@ -61,9 +61,11 @@ class ORMInvalidArgumentException extends \InvalidArgumentException
                             . " configured to cascade persist operations for entity: " . self::objToStr($entry) . "."
                             . " To solve this issue: Either explicitly call EntityManager#persist()"
                             . " on this unknown entity or configure cascade persist "
-                            . " this association in the mapping for example @ManyToOne(..,cascade={\"persist\"}). "
-                            . " If you cannot find out which entity causes the problem"
-                            . " implement '" . $assoc['targetEntity'] . "#__toString()' to get a clue.");
+                            . " this association in the mapping for example @ManyToOne(..,cascade={\"persist\"})."
+                            . method_exists($entry, '__toString') ? 
+                                "":
+                                " If you cannot find out which entity causes the problem"
+                               ." implement '" . $assoc['targetEntity'] . "#__toString()' to get a clue.");
     }
 
     static public function detachedEntityFoundThroughRelationship(array $assoc, $entry)
Show the advice only when necessary.



This is indeed a good advice, but people who

already have implemented __toString() might

get confused about it.