diff --git a/util/src/main/java/org/killbill/billing/util/security/shiro/dao/JDBCSessionDao.java b/util/src/main/java/org/killbill/billing/util/security/shiro/dao/JDBCSessionDao.java
index 01a8729..61f4e6d 100644
--- a/util/src/main/java/org/killbill/billing/util/security/shiro/dao/JDBCSessionDao.java
+++ b/util/src/main/java/org/killbill/billing/util/security/shiro/dao/JDBCSessionDao.java
@@ -62,6 +62,9 @@ public class JDBCSessionDao extends CachingSessionDAO {
final DateTime lastAccessTime = new DateTime(session.getLastAccessTime(), DateTimeZone.UTC);
final Long sessionId = Long.valueOf(session.getId().toString());
jdbcSessionSqlDao.updateLastAccessTime(lastAccessTime, sessionId);
+ } else if (session instanceof SimpleSession) {
+ // Hack to override the value in the cache so subsequent requests see the (stale) value on disk
+ ((SimpleSession) session).setLastAccessTime(previousSession.getLastAccessTime());
}
} else {
// Various fields were changed, update the full row