diff --git a/modcc/printer/cprinter.cpp b/modcc/printer/cprinter.cpp
index 23ecf2f06203b26f58a4dfa9356ca458b9ccbd36..2d4991c75e2355c28a6b9248b0b6b026ecd66a61 100644
--- a/modcc/printer/cprinter.cpp
+++ b/modcc/printer/cprinter.cpp
@@ -972,7 +972,7 @@ void emit_simd_api_body(std::ostream& out, APIMethod* method, const std::vector<
             if (!info.cell_index_var.empty()) {
                 index_prop cell_idx = {info.cell_index_var, index_i_name(info.node_index_var), false};
                 it = std::find(indices.begin(), indices.end(), cell_idx);
-                if (it == indices.end()) indices.push_front(cell_idx);
+                if (it == indices.end()) indices.push_back(cell_idx);
             }
         }
         else {