diff --git a/asterix-bad/src/main/java/org/apache/asterix/bad/metadata/ProcedureTupleTranslator.java b/asterix-bad/src/main/java/org/apache/asterix/bad/metadata/ProcedureTupleTranslator.java
index dfcca97..ed42dd6 100644
--- a/asterix-bad/src/main/java/org/apache/asterix/bad/metadata/ProcedureTupleTranslator.java
+++ b/asterix-bad/src/main/java/org/apache/asterix/bad/metadata/ProcedureTupleTranslator.java
@@ -95,8 +95,10 @@
         String languageValue = ((AString) procedureRecord
                 .getValueByPos(BADMetadataRecordTypes.PROCEDURE_ARECORD_PROCEDURE_LANGUAGE_FIELD_INDEX))
                         .getStringValue();
-        Function.FunctionLanguage language = Function.FunctionLanguage.findByName(languageValue);
-        if (language == null) {
+        Function.FunctionLanguage language;
+        try {
+            language = Function.FunctionLanguage.valueOf(languageValue);
+        } catch (IllegalArgumentException e) {
             throw new AsterixException(ErrorCode.METADATA_ERROR, languageValue);
         }
 
@@ -204,7 +206,7 @@
 
         // write field 6
         fieldValue.reset();
-        aString.setValue(procedure.getLanguage().getName());
+        aString.setValue(procedure.getLanguage().name());
         stringSerde.serialize(aString, fieldValue.getDataOutput());
         recordBuilder.addField(BADMetadataRecordTypes.PROCEDURE_ARECORD_PROCEDURE_LANGUAGE_FIELD_INDEX, fieldValue);
 
