Abstract -- In this talk, I consider the problem of correcting writing mistakes made by English as a Second Language (ESL) learners and identify and address two key issues not hitherto considered by research in this area. First, I will compare several machine learning approaches applied to the task to determine which methods are most effective for this problem and under what conditions. A second key issue in ESL error correction is the adaptation of a computational model to the typical mistakes made by ESL writers. Errors made by non-native speakers exhibit certain regularities, and models perform much better when they use knowledge about error patterns of the non-native writers. Standard error correction systems are trained on native English data and thus cannot learn the error patterns of ESL writers, and do not perform as well as those trained directly on manually annotated ESL data. I will describe how to provide models trained on native English data with knowledge about typical ESL writers' mistakes, while avoiding expensive linguistic annotation. The proposed approach relies on "injecting" error statistics into the model and requires minimal amount of annotated ESL data. The resulting model combines the advantages of training on native and annotated data and outperforms both of these methods.