diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua
index 66970bee86ccdf1ab85e8618d95f46bdc40dc91e..7022ef2b194b05681c96415c177c836c681212b7 100644
--- a/game/modules/tome/class/Actor.lua
+++ b/game/modules/tome/class/Actor.lua
@@ -1467,7 +1467,7 @@ function _M:tooltip(x, y, seen_by)
 	if game.player ~= self then ts:add("Personal reaction: ") ts:merge(pfactcolor:toTString()) ts:add(("%s, %d"):format(pfactstate, pfactlevel), {"color", "WHITE"} ) end
 
 	for tid, act in pairs(self.sustain_talents) do
-		if act then ts:add(true, "- ", {"color", "LIGHT_GREEN"}, self:getTalentFromId(tid).name, {"color", "WHITE"} ) end
+		if act then ts:add(true, "- ", {"color", "LIGHT_GREEN"}, self:getTalentFromId(tid) and self:getTalentFromId(tid).name or "???", {"color", "WHITE"} ) end
 	end
 	for eff_id, p in pairs(self.tmp) do
 		local e = self.tempeffect_def[eff_id]
diff --git a/game/modules/tome/data/birth/worlds.lua b/game/modules/tome/data/birth/worlds.lua
index 8f8737bbefa70aa4df042aae479b0f11a28eaf70..dba6bdb1449f2eb656d707abee53a9689a808a89 100644
--- a/game/modules/tome/data/birth/worlds.lua
+++ b/game/modules/tome/data/birth/worlds.lua
@@ -152,6 +152,7 @@ newBirthDescriptor{
 		ignore_prodigies_special_reqs = true,
 		grab_online_event_zone = function() return "infinite-dungeon-"..(game.level.level+rng.range(1,4)) end,
 		grab_online_event_spot = function(zone, level)
+			if not level then return end
 			local x, y = game.state:findEventGrid(level)
 			return x, y
 		end,
diff --git a/game/modules/tome/data/gfx/shaders/spinningwinds.frag b/game/modules/tome/data/gfx/shaders/spinningwinds.frag
index 83dec3e8c6b4572c232e30fbb8003f13dacae51d..5da5dd62a5783f424a208013ed542b3e667623a0 100644
--- a/game/modules/tome/data/gfx/shaders/spinningwinds.frag
+++ b/game/modules/tome/data/gfx/shaders/spinningwinds.frag
@@ -6,7 +6,7 @@ uniform float time_factor;
  
 uniform float noup;
  
-uniform vec2 ellipsoidalFactor = vec2(1.0, 1.0); //(1.0, 1.0) is perfect circle, (2.0, 1.0) is vertical ellipse, (1.0, 2.0) is horizontal ellipse
+uniform vec2 ellipsoidalFactor; //(1.0, 1.0) is perfect circle, (2.0, 1.0) is vertical ellipse, (1.0, 2.0) is horizontal ellipse
  
  
 struct RingIntersection
diff --git a/game/modules/tome/data/gfx/shaders/spinningwinds2.frag b/game/modules/tome/data/gfx/shaders/spinningwinds2.frag
index 2c63cbe9a1ba8b8bda8c902fc7b9438633e618f1..c9713d6cc033f6bd2fbb018373a255423f315a72 100644
--- a/game/modules/tome/data/gfx/shaders/spinningwinds2.frag
+++ b/game/modules/tome/data/gfx/shaders/spinningwinds2.frag
@@ -10,7 +10,7 @@ uniform float flameIntensity;
 
 uniform float noup;
 
-uniform vec2 ellipsoidalFactor = vec2(1.0, 1.0); //(1.0, 1.0) is perfect circle, (2.0, 1.0) is vertical ellipse, (1.0, 2.0) is horizontal ellipse
+uniform vec2 ellipsoidalFactor; //(1.0, 1.0) is perfect circle, (2.0, 1.0) is vertical ellipse, (1.0, 2.0) is horizontal ellipse
 
 vec4 permute( vec4 x ) {