diff --git a/CMakeLists.txt b/CMakeLists.txt
index 97528179..bf82cfac 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -170,9 +170,9 @@ if(NOT WIN32)
    if(Gperf_FOUND AND KF5KHtml_FOUND)
      add_subdirectory( man )
    endif()
-   check_include_files(rpc/rpc.h HAVE_RPC_RPC_H)
-   add_feature_info("NFS kioslave" HAVE_RPC_RPC_H "The RPC library is needed to build the NFS kioslave")
-   if(HAVE_RPC_RPC_H)
+   find_path(RPC_H_DIR rpc/rpc.h PATH_SUFFIXES tirpc)
+   add_feature_info("NFS kioslave" RPC_H_DIR "The RPC library is needed to build the NFS kioslave")
+   if(RPC_H_DIR)
      add_subdirectory( nfs )
    endif()
 endif()
diff --git a/nfs/CMakeLists.txt b/nfs/CMakeLists.txt
index 3dce1c1e..461620c7 100644
--- a/nfs/CMakeLists.txt
+++ b/nfs/CMakeLists.txt
@@ -1,6 +1,11 @@
 ## Check for XDR functions
 include(CheckFunctionExists)
 
+if (${RPC_H_DIR} MATCHES tirpc)
+ find_library(TIRPC_LIB tirpc)
+endif()
+set(CMAKE_REQUIRED_LIBRARIES ${TIRPC_LIB})
+
 CHECK_FUNCTION_EXISTS(xdr_u_int64_t HAVE_XDR_U_INT64_T)
 CHECK_FUNCTION_EXISTS(xdr_uint64_t HAVE_XDR_UINT64_T)
 CHECK_FUNCTION_EXISTS(xdr_u_hyper HAVE_XDR_U_HYPER)
@@ -24,9 +29,10 @@ if (HAVE_XDR_U_LONGLONG_T)
 endif (HAVE_XDR_U_LONGLONG_T)
 
 add_definitions(-DTRANSLATION_DOMAIN=\"kio5_nfs\")
+include_directories(${RPC_H_DIR})
 
 add_library(kio_nfs MODULE kio_nfs.cpp nfsv2.cpp nfsv3.cpp rpc_nfs3_prot_xdr.c rpc_nfs2_prot_xdr.c)
-target_link_libraries(kio_nfs KF5::KIOCore KF5::I18n Qt5::Network)
+target_link_libraries(kio_nfs KF5::KIOCore KF5::I18n Qt5::Network ${TIRPC_LIB})
 set_target_properties(kio_nfs PROPERTIES OUTPUT_NAME "nfs")
 
 install(TARGETS kio_nfs DESTINATION ${PLUGIN_INSTALL_DIR}/kf5/kio)
