diff --git a/stepmania/src/LuaReference.cpp b/stepmania/src/LuaReference.cpp index 3771cbed9c..00d3fd9e38 100644 --- a/stepmania/src/LuaReference.cpp +++ b/stepmania/src/LuaReference.cpp @@ -25,9 +25,14 @@ LuaReference::LuaReference( const LuaReference &cpy ) { SubscriptionManager::Subscribe( this ); - /* Make a new reference. */ - lua_rawgeti( LUA->L, LUA_REGISTRYINDEX, cpy.m_iReference ); - m_iReference = luaL_ref( LUA->L, LUA_REGISTRYINDEX ); + if( cpy.m_iReference == LUA_NOREF ) + m_iReference = LUA_NOREF; + else + { + /* Make a new reference. */ + lua_rawgeti( LUA->L, LUA_REGISTRYINDEX, cpy.m_iReference ); + m_iReference = luaL_ref( LUA->L, LUA_REGISTRYINDEX ); + } } LuaReference &LuaReference::operator=( const LuaReference &cpy )