diff --git a/core/src/main/java/com/orientechnologies/orient/core/db/record/ODatabaseRecordAbstract.java b/core/src/main/java/com/orientechnologies/orient/core/db/record/ODatabaseRecordAbstract.java
index <HASH>..<HASH> 100644
--- a/core/src/main/java/com/orientechnologies/orient/core/db/record/ODatabaseRecordAbstract.java
+++ b/core/src/main/java/com/orientechnologies/orient/core/db/record/ODatabaseRecordAbstract.java
@@ -788,11 +788,11 @@ public abstract class ODatabaseRecordAbstract extends ODatabaseWrapperAbstract<O
 		if (!OHookThreadLocal.INSTANCE.push(id))

 			return false;

 

-		final ORecord<?> rec = id.getRecord();

-		if (rec == null)

-			return false;

-

 		try {

+			final ORecord<?> rec = id.getRecord();

+			if (rec == null)

+				return false;

+

 			boolean recordChanged = false;

 			for (ORecordHook hook : hooks)

 				if (hook.onTrigger(iType, rec))
Fixed issue <I> with the contribution of Stefan Liebig