Index: core/units/categories/categories_event_handler.php
===================================================================
--- core/units/categories/categories_event_handler.php
+++ core/units/categories/categories_event_handler.php
@@ -1855,9 +1855,18 @@
 			$object->setRequired('PageCacheKey', $object->GetDBField('OverridePageCacheKey'));
 			$object->SetDBField('Template', $this->_stripTemplateExtension( $object->GetDBField('Template') ));
 
-			if ($object->GetDBField('Type') == PAGE_TYPE_TEMPLATE) {
-				if (!$this->_templateFound($object->GetDBField('Template'), $object->GetDBField('ThemeId'))) {
-					$object->SetError('Template', 'template_file_missing', 'la_error_TemplateFileMissing');
+			$category_type = $object->GetDBField('Type');
+
+			if ( $category_type != $object->GetOriginalField('Type') ) {
+				if ( $category_type == PAGE_TYPE_TEMPLATE ) {
+					$object->SetDBField('ThemeId', $this->_getCurrentThemeId());
+
+					if ( !$this->_templateFound($object->GetDBField('Template'), $object->GetDBField('ThemeId')) ) {
+						$object->SetError('Template', 'template_file_missing', 'la_error_TemplateFileMissing');
+					}
+				}
+				else {
+					$object->SetDBField('ThemeId', 0);
 				}
 			}