If a compiled object such as a stored procedure or trigger refers to a temporary table (#temp table_name) that was created outside the body of the object, the upgrade fails, and dbcc upgrade_object returns an error.
To correct this error, create the temporary table exactly as expected by the compiled object, then execute dbcc upgrade_object again. You need not do this if the compiled object is upgraded automatically when it is invoked.