Index: src/AST/Expr.cpp
===================================================================
--- src/AST/Expr.cpp	(revision 509ec82ec97a0e2c2068fbd2db74e69196bc8024)
+++ src/AST/Expr.cpp	(revision eae8b37d7379001bb81375459612907897447955)
@@ -123,4 +123,5 @@
 bool VariableExpr::get_lvalue() const {
 	// It isn't always an lvalue, but it is never an rvalue.
+	if(dynamic_cast<const ast::EnumInstType *>(var->get_type())) return !var->isMember;
 	return true;
 }
Index: src/Parser/TypeData.cpp
===================================================================
--- src/Parser/TypeData.cpp	(revision 509ec82ec97a0e2c2068fbd2db74e69196bc8024)
+++ src/Parser/TypeData.cpp	(revision eae8b37d7379001bb81375459612907897447955)
@@ -1481,4 +1481,5 @@
 		ast::ObjectDecl * object = strict_dynamic_cast<ast::ObjectDecl *>( member );
 		object->isHidden = ast::EnumDecl::EnumHiding::Hide == ret->hide;
+		object->isMember = true;
 		if ( ret->isOpaque() && cur->has_enumeratorValue() ) {
 			SemanticError( td->location, "Opague cannot have an explicit initializer value." );
