diff --git a/src/trapping/cfrfme.cpp b/src/trapping/cfrfme.cpp
index 28c91cb7e47192279ab095f9a1d8d4a417932584..cc5ca373e0e7c488cb161a054832c060bb767524 100644
--- a/src/trapping/cfrfme.cpp
+++ b/src/trapping/cfrfme.cpp
@@ -403,6 +403,8 @@ void frfme(string data_file, string output_path) {
 	  double *vec_vkzm = vkzm[0];
 #ifdef USE_TARGET_OFFLOAD
 #pragma omp target teams distribute parallel for simd
+#else
+#pragma omp parallel for simd
 #endif
 // #pragma omp parallel for
 	  for (int j80 = jlmf-1; j80 < jlml; j80++) {
@@ -417,8 +419,9 @@ void frfme(string data_file, string output_path) {
 	    //   for (int jx50 = 0; jx50 < nkv; jx50++) {
 // #ifdef USE_TARGET_OFFLOAD
 // #pragma omp target teams distribute parallel for simd
+// #else
+// #pragma omp parallel for simd
 // #endif
-// #pragma omp parallel for
 	    for (int jxy50 = 0; jxy50 < nkvs; jxy50++) {
 		// for (int wi = 0; wi < nlmmt; wi++) wk_local[wi] = tt1->wk[wk_index++];
 		// w[jx50][jy50] = wk_local[j80];
@@ -438,8 +441,9 @@ void frfme(string data_file, string output_path) {
 	    int nvxy = nxv *nyv;
 // #ifdef USE_TARGET_OFFLOAD
 // #pragma omp target teams distribute parallel for
-// #endif
+// #else
 // #pragma omp parallel for
+// #endif
 	    for (int ixyz = 0; ixyz < nvtot; ixyz++) {
 	      int iz75 = ixyz / nvxy;
 	      int iy70 = (ixyz % nvxy) / nxv;
@@ -453,7 +457,9 @@ void frfme(string data_file, string output_path) {
 		  // ixyz++;
 	      dcomplex sumy = cc0;
 // #ifdef USE_TARGET_OFFLOAD
-// #pragma omp target parallel for simd reduction(+:sumy)
+// #pragma omp target teams distribute parallel for simd reduction(+:sumy)
+// #else
+// #pragma omp parallel for simd reduction(+:sumy)
 // #endif
 	      for (int jy60x55 = 0; jy60x55 < nkvs ; jy60x55++) {
 		int jy60 = jy60x55 / nkv;