Passt zwar nicht zu der von Dir auskommentieren Zeile und ist ohne Debugger nur aus dem Bauch heraus. Was passiert denn, wenn MasterTemp in der oberen Schleife überhaupt nicht zugewiesen wird. Dann kracht es im unteren Bereich, allerdings
imho schon in der If-Abfrage.
Initialisiere MasterTemp über der for-Schleife mal mit nil und prüfe als erste Bedingung unten, ob es im for überhaupt zugewiesen wurde (if assigned).